int classifyHandPosition(float *in, float *out, int init) { int member, source; float sum; enum{OK, Error, Not_Valid}; pUnit unit; /* layer definition section (names & member units) */ static pUnit Input[6] = {Units + 1, Units + 2, Units + 3, Units + 4, Units + 5, Units + 6}; /* members */ static pUnit Hidden1[10] = {Units + 7, Units + 8, Units + 9, Units + 10, Units + 11, Units + 12, Units + 13, Units + 14, Units + 15, Units + 16}; /* members */ static pUnit Hidden2[6] = {Units + 17, Units + 18, Units + 19, Units + 20, Units + 21, Units + 22}; /* members */ static pUnit Output1[4] = {Units + 23, Units + 24, Units + 25, Units + 26}; /* members */ static int Output[4] = {23, 24, 25, 26}; for(member = 0; member < 6; member++) { Input[member]->act = in[member]; } for (member = 0; member < 10; member++) { unit = Hidden1[member]; sum = 0.0; for (source = 0; source < unit->NoOfSources; source++) { sum += unit->sources[source]->act * unit->weights[source]; } unit->act = Act_Logistic(sum, unit->Bias); }; for (member = 0; member < 6; member++) { unit = Hidden2[member]; sum = 0.0; for (source = 0; source < unit->NoOfSources; source++) { sum += unit->sources[source]->act * unit->weights[source]; } unit->act = Act_Logistic(sum, unit->Bias); }; for (member = 0; member < 4; member++) { unit = Output1[member]; sum = 0.0; for (source = 0; source < unit->NoOfSources; source++) { sum += unit->sources[source]->act * unit->weights[source]; } unit->act = Act_Logistic(sum, unit->Bias); }; for(member = 0; member < 4; member++) { out[member] = Units[Output[member]].act; } return(OK); }
int heavyNuNN_1500_1200(float *in, float *out, int init) { int member, source; float sum; enum{OK, Error, Not_Valid}; pUnit unit; /* layer definition section (names & member units) */ static pUnit Input[2] = {Units + 1, Units + 2}; /* members */ static pUnit Hidden1[8] = {Units + 3, Units + 4, Units + 5, Units + 6, Units + 7, Units + 8, Units + 9, Units + 10}; /* members */ static pUnit Output1[1] = {Units + 11}; /* members */ static int Output[1] = {11}; for(member = 0; member < 2; member++) { Input[member]->act = in[member]; } for (member = 0; member < 8; member++) { unit = Hidden1[member]; sum = 0.0; for (source = 0; source < unit->NoOfSources; source++) { sum += unit->sources[source]->act * unit->weights[source]; } unit->act = Act_Logistic(sum, unit->Bias); }; for (member = 0; member < 1; member++) { unit = Output1[member]; sum = 0.0; for (source = 0; source < unit->NoOfSources; source++) { sum += unit->sources[source]->act * unit->weights[source]; } unit->act = Act_Logistic(sum, unit->Bias); }; for(member = 0; member < 1; member++) { out[member] = Units[Output[member]].act; } return(OK); }