Changeset 40371 for trunk/Ohana/src/opihi/lib.data/nnet.c
- Timestamp:
- Mar 16, 2018, 4:06:05 PM (8 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/lib.data/nnet.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/lib.data/nnet.c
r40325 r40371 45 45 46 46 nnet[0].Nlayer = Nlayer; 47 ALLOCATE (nnet[0].Nnodes, int, Nlayer);48 ALLOCATE (nnet[0].weight, float *, Nlayer);49 ALLOCATE (nnet[0].biases, float *, Nlayer);50 ALLOCATE (nnet[0].svalue, float *, Nlayer);51 ALLOCATE (nnet[0].zvalue, float *, Nlayer);52 ALLOCATE (nnet[0].sprime, float *, Nlayer);53 ALLOCATE (nnet[0].delta , float *, Nlayer);54 55 ALLOCATE (nnet[0]. Nabla_b, float *, Nlayer);56 ALLOCATE (nnet[0].dNabla_b, float *, Nlayer);57 ALLOCATE (nnet[0]. Nabla_w, float *, Nlayer);58 ALLOCATE (nnet[0].dNabla_w, float *, Nlayer);47 ALLOCATE_ZERO (nnet[0].Nnodes, int, Nlayer); 48 ALLOCATE_ZERO (nnet[0].weight, float *, Nlayer); 49 ALLOCATE_ZERO (nnet[0].biases, float *, Nlayer); 50 ALLOCATE_ZERO (nnet[0].svalue, float *, Nlayer); 51 ALLOCATE_ZERO (nnet[0].zvalue, float *, Nlayer); 52 ALLOCATE_ZERO (nnet[0].sprime, float *, Nlayer); 53 ALLOCATE_ZERO (nnet[0].delta , float *, Nlayer); 54 55 ALLOCATE_ZERO (nnet[0]. Nabla_b, float *, Nlayer); 56 ALLOCATE_ZERO (nnet[0].dNabla_b, float *, Nlayer); 57 ALLOCATE_ZERO (nnet[0]. Nabla_w, float *, Nlayer); 58 ALLOCATE_ZERO (nnet[0].dNabla_w, float *, Nlayer); 59 59 } 60 60 … … 63 63 int i; 64 64 65 free(nnet[0].name);65 FREE (nnet[0].name); 66 66 for (i = 0; i < nnet[0].Nlayer; i++) { 67 free(nnet[0].weight[i]);68 free(nnet[0].biases[i]);69 free(nnet[0].svalue[i]);70 free(nnet[0].zvalue[i]);71 free(nnet[0].sprime[i]);72 free(nnet[0].delta [i]);73 74 free(nnet[0]. Nabla_b[i]);75 free(nnet[0].dNabla_b[i]);76 free(nnet[0]. Nabla_w[i]);77 free(nnet[0].dNabla_w[i]);78 } 79 free(nnet[0].Nnodes);80 free(nnet[0].weight);81 free(nnet[0].biases);82 free(nnet[0].svalue);83 free(nnet[0].zvalue);84 free(nnet[0].sprime);85 free(nnet[0].delta );86 87 free(nnet[0]. Nabla_b);88 free(nnet[0].dNabla_b);89 free(nnet[0]. Nabla_w);90 free(nnet[0].dNabla_w);67 FREE (nnet[0].weight[i]); 68 FREE (nnet[0].biases[i]); 69 FREE (nnet[0].svalue[i]); 70 FREE (nnet[0].zvalue[i]); 71 FREE (nnet[0].sprime[i]); 72 FREE (nnet[0].delta [i]); 73 74 FREE (nnet[0]. Nabla_b[i]); 75 FREE (nnet[0].dNabla_b[i]); 76 FREE (nnet[0]. Nabla_w[i]); 77 FREE (nnet[0].dNabla_w[i]); 78 } 79 FREE (nnet[0].Nnodes); 80 FREE (nnet[0].weight); 81 FREE (nnet[0].biases); 82 FREE (nnet[0].svalue); 83 FREE (nnet[0].zvalue); 84 FREE (nnet[0].sprime); 85 FREE (nnet[0].delta ); 86 87 FREE (nnet[0]. Nabla_b); 88 FREE (nnet[0].dNabla_b); 89 FREE (nnet[0]. Nabla_w); 90 FREE (nnet[0].dNabla_w); 91 91 } 92 92 … … 236 236 } 237 237 238 void PrintNnet (Nnet *nnet) { 239 240 for (int L = 1; L < nnet[0].Nlayer; L++) { 241 gprint (GP_ERR, " ----- Layer %d -----\n", L); 242 for (int j = 0; j < nnet[0].Nnodes[L]; j++) { 243 for (int i = 0; i < nnet[0].Nnodes[L-1]; i++) { 244 int k = j * nnet[0].Nnodes[L-1] + i; 245 myAssert (k < nnet[0].Nnodes[L-1]*nnet[0].Nnodes[L], "overflow"); 246 gprint (GP_ERR, "%7.4f ", nnet[0].weight[L][k]); 247 } 248 gprint (GP_ERR, " : %7.4f\n", nnet[0].biases[L][j]); 249 } 250 } 251 return; 252 } 253
Note:
See TracChangeset
for help on using the changeset viewer.
