IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 23, 2018, 1:24:10 PM (8 years ago)
Author:
eugene
Message:

fix segfault for nnet

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/lib.data/nnet.c

    r40319 r40320  
    2626// InitNnetData requires nnet to unassigned or initialized
    2727// if you have an existing Nnet, call FreeNnetData first
    28 void InitNnetData (Nnet *nnet, char *name) {
     28void InitNnetData (Nnet *nnet, char *name, int Nlayer) {
    2929
    3030  nnet[0].name = strcreate (name);
     
    4343  nnet[0]. Nabla_w  = NULL;
    4444  nnet[0].dNabla_w  = NULL;
     45
     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);
    4559}
    4660
     
    114128  if (nnet != NULL) {
    115129    FreeNnetData (nnet);
    116     InitNnetData (nnet, name);
     130    InitNnetData (nnet, name, Nlayer);
    117131    return (nnet);
    118132  }
     
    122136  CHECK_REALLOCATE (nnets, Nnet *, NNNETS, Nnnets, 16);
    123137  ALLOCATE (nnet, Nnet, 1);
    124   InitNnetData (nnet, name);
    125 
    126   nnet[0].Nlayer = Nlayer;
    127   ALLOCATE (nnet[0].Nnodes, int, Nlayer);
    128   ALLOCATE (nnet[0].weight, float *, Nlayer);
    129   ALLOCATE (nnet[0].biases, float *, Nlayer);
    130   ALLOCATE (nnet[0].svalue, float *, Nlayer);
    131   ALLOCATE (nnet[0].zvalue, float *, Nlayer);
    132   ALLOCATE (nnet[0].sprime, float *, Nlayer);
    133   ALLOCATE (nnet[0].delta , float *, Nlayer);
    134 
    135   ALLOCATE (nnet[0]. Nabla_b, float *, Nlayer);
    136   ALLOCATE (nnet[0].dNabla_b, float *, Nlayer);
    137   ALLOCATE (nnet[0]. Nabla_w, float *, Nlayer);
    138   ALLOCATE (nnet[0].dNabla_w, float *, Nlayer);
     138  InitNnetData (nnet, name, Nlayer);
    139139
    140140  // save this nnet in the static array of nnets
Note: See TracChangeset for help on using the changeset viewer.