Index: trunk/Ohana/src/opihi/lib.data/nnet.c
===================================================================
--- trunk/Ohana/src/opihi/lib.data/nnet.c	(revision 40319)
+++ trunk/Ohana/src/opihi/lib.data/nnet.c	(revision 40320)
@@ -26,5 +26,5 @@
 // InitNnetData requires nnet to unassigned or initialized
 // if you have an existing Nnet, call FreeNnetData first
-void InitNnetData (Nnet *nnet, char *name) {
+void InitNnetData (Nnet *nnet, char *name, int Nlayer) {
 
   nnet[0].name = strcreate (name);
@@ -43,4 +43,18 @@
   nnet[0]. Nabla_w  = NULL;
   nnet[0].dNabla_w  = NULL;
+
+  nnet[0].Nlayer = Nlayer;
+  ALLOCATE (nnet[0].Nnodes, int, Nlayer);
+  ALLOCATE (nnet[0].weight, float *, Nlayer);
+  ALLOCATE (nnet[0].biases, float *, Nlayer);
+  ALLOCATE (nnet[0].svalue, float *, Nlayer);
+  ALLOCATE (nnet[0].zvalue, float *, Nlayer);
+  ALLOCATE (nnet[0].sprime, float *, Nlayer);
+  ALLOCATE (nnet[0].delta , float *, Nlayer);
+
+  ALLOCATE (nnet[0]. Nabla_b, float *, Nlayer);
+  ALLOCATE (nnet[0].dNabla_b, float *, Nlayer);
+  ALLOCATE (nnet[0]. Nabla_w, float *, Nlayer);
+  ALLOCATE (nnet[0].dNabla_w, float *, Nlayer);
 }
 
@@ -114,5 +128,5 @@
   if (nnet != NULL) {
     FreeNnetData (nnet);
-    InitNnetData (nnet, name);
+    InitNnetData (nnet, name, Nlayer);
     return (nnet);
   }
@@ -122,19 +136,5 @@
   CHECK_REALLOCATE (nnets, Nnet *, NNNETS, Nnnets, 16);
   ALLOCATE (nnet, Nnet, 1);
-  InitNnetData (nnet, name);
-
-  nnet[0].Nlayer = Nlayer;
-  ALLOCATE (nnet[0].Nnodes, int, Nlayer);
-  ALLOCATE (nnet[0].weight, float *, Nlayer);
-  ALLOCATE (nnet[0].biases, float *, Nlayer);
-  ALLOCATE (nnet[0].svalue, float *, Nlayer);
-  ALLOCATE (nnet[0].zvalue, float *, Nlayer);
-  ALLOCATE (nnet[0].sprime, float *, Nlayer);
-  ALLOCATE (nnet[0].delta , float *, Nlayer);
-
-  ALLOCATE (nnet[0]. Nabla_b, float *, Nlayer);
-  ALLOCATE (nnet[0].dNabla_b, float *, Nlayer);
-  ALLOCATE (nnet[0]. Nabla_w, float *, Nlayer);
-  ALLOCATE (nnet[0].dNabla_w, float *, Nlayer);
+  InitNnetData (nnet, name, Nlayer);
 
   // save this nnet in the static array of nnets
