Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
New Contributor I
1,289 Views

101 Curie NN - Which version of library ? I have 2 versions, one with noMatch and one without in the header files

Hi,

I've got 2 versions of the neural network files, CuriePME.h and CuriePME.cpp on my system. Neither one has an official version number anywhere, so I can not understand how you have released 2 versions of sosftware with no official versioning ??

Anyway they have no version which is ridiculous, so which should I be using ?

The headers are different, in that one has a

static const uint32_t noMatch = 0x7fff;

And one doesnt have this constant at all.

Also is this really the correct value that comes back when there is not match from a classify ?

The code in one function looks like this :

uint16_t Intel_PMT::learn(uint8_t *pattern_vector, int32_t vector_length, uint16_t category)

{

if( vector_length > MaxVectorSize )

vector_length = MaxVectorSize;

for( int i = 0; i < vector_length -1; i++ )

{

regWrite16( COMP , pattern_vector ); 

}

 

 

regWrite16( LCOMP, pattern_vector[ vector_length - 1 ] );

 

 

/* Mask off the 15th bit-- valid categories range from 1-32766,

 

* and bit 15 is used to indicate if a firing neuron has degenerated */

 

regWrite16(CAT, (regRead16(CAT) & ~CAT_CATEGORY) | (category & CAT_CATEGORY));

 

return regRead16( FORGET_NCOUNT );

 

 

}

 

 

So is this the correct cpp ?It seems to be the one you pointed me at recently. The other file I've got looks like this :

 

 

uint16_t Intel_PMT::learn(uint8_t *pattern_vector, int32_t vector_length, uint8_t category)

 

{

 

if( vector_length > MaxVectorSize )

 

vector_length = MaxVectorSize;

 

 

for( int i = 0; i < vector_length -1; i++ )

 

{

 

regWrite16( COMP , pattern_vector );  }   regWrite16( LCOMP, pattern_vector[ vector_length - 1 ] );  regWrite16( CAT, category );   return regRead16( FORGET_NCOUNT );  } 

One version of the code seems to manually reset the begin and end save and restore functionality, whilst the other version seems to not bother setting the NN state to its previous state, this is the only difference I can see.

Please tell me which is the OFFICIAL supported NN lib for the Curie 101 NN lib.

Thanks

Marcus

0 Kudos
3 Replies
Highlighted
Community Manager
6 Views

Hi Marcus,

 

 

Thanks for your interest in the Intel® Curie Platform.

 

 

I would like to share you these links regarding Curie Neurons library that I believe will help you:

 

 

However let me investigate a little bit more regarding CuriePME.h and CuriePME.cpp files and as soon as I find useful information I'll let you know.

 

 

Regards,

 

-Yermi

 

0 Kudos
Highlighted
Community Manager
6 Views

Hi Marcus,

 

 

Thanks for your patience. I was investigating and the CuriePME.h is the header file used to define an interface into the application, it will provide the information needed in the other file (.cpp), and the CuriePME.cpp file is used to provide the implementation. In other words, the header will say how to call some functionality and the .cpp file will be the actual functionality.

 

 

Hope this information helps.

 

 

Regards,

 

-Yermi

 

0 Kudos
Highlighted
New Contributor I
6 Views

Are you being serious ?

"

Thanks for your patience. I was investigating and the CuriePME.h is the header file used to define an interface into the application, it will provide the information needed in the other file (.cpp), and the CuriePME.cpp file is used to provide the implementation. In other words, the header will say how to call some functionality and the .cpp file will be the actual functionality.

"

If I am already programming the 101, then of course I know what header (.h) and source (.cpp) files are ! I've been a software engineer for over 20 years in C++. If you read my question - which I can not see how so I do not believe you read it - you would see I am seeking this information

"Please tell me which is the OFFICIAL supported NN lib for the Curie 101 NN lib."

The reason I am asking is because I have 2 versions of the library files,I have resolved it now though.

What on Earth does this have to do with the purpose of a header file ?

Anyway the answer to this question ,ie WHERE IS THE OFFICIAL repository for the 101s Neural Network lib is here :

https://github.com/01org/Intel-Pattern-Matching-Technology GitHub - 01org/Intel-Pattern-Matching-Technology

The guy (https://github.com/eriknyquist eriknyquist) that is fixing things here for the 101 board is doing a great job at fixing the bugs that I raise.

Marcus.

0 Kudos