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/cmd.data/test/nnet.sh

    r40319 r40320  
    44  nnet create t0 5 10 15 3
    55  nnet list
     6
     7  nnet create t1 5 8
     8  nnet list
     9
     10  # vlist v0 1 2 3 4 5
     11  vlist v1 1 2 3 4 5 6 7 8
     12
     13  mcreate m1 5 8
     14 
     15  # generate a weight vector of length v1[]
     16  vlist my 9 8 7 6 5 4 3 2
     17
     18  for i 0 5
     19    mset m1 my -y $i
     20    set my = my + $i
     21  end
     22 
     23  # set weights and biases
     24  nnet set t1 m1 v1
     25
     26  # get weights and biases
     27  nnet get t1 M1 V1
     28
     29  # compare
     30  set dv = v1 - V1
     31  vstat dv
     32
     33  set dm = m1 - M1
     34  stat dm
     35 
    636end
     37
     38macro test2
     39
     40  nnet create t1 2 2
     41  nnet list
     42
     43  # output = sigmoid (sum(weight[i][j] * input[i]) + bias[j])
     44
     45  # biases of
     46  vlist v1 0.8 0.2
     47
     48  mcreate m1 2 2
     49  m1[0][0] =  0.5
     50  m1[1][0] =  0.1
     51  m1[0][1] = -0.2
     52  m1[1][1] =  0.8
     53
     54  # set weights and biases
     55  nnet set t1 m1 v1
     56
     57  vlist vin0 1 2
     58  vlist vin1 2 1
     59
     60  # get weights and biases
     61  nnet apply t1 vin0 vin1 vout0 vout1
     62 
     63  vlist z0 {m1[0][0]*vin0[0] + m1[1][0]*vin1[0] + v1[0]} {m1[0][0]*vin0[1] + m1[1][0]*vin1[1] + v1[0]}
     64  vlist z1 {m1[0][1]*vin0[0] + m1[1][1]*vin1[0] + v1[1]} {m1[0][1]*vin0[1] + m1[1][1]*vin1[1] + v1[1]}
     65  set t0 = 1 / (1 + exp(-1*z0))
     66  set t1 = 1 / (1 + exp(-1*z1))
     67
     68  # compare
     69  set dt0 = t0 - vout0
     70  vstat dt0
     71
     72  set dt1 = t1 - vout1
     73  vstat dt1
     74end
     75
     76macro test3
     77
     78  memory all
     79
     80  nnet create t0 5 10 15 3
     81  nnet list
     82
     83  nnet create t1 5 8
     84  nnet list
     85
     86  # vlist v0 1 2 3 4 5
     87  vlist v1 1 2 3 4 5 6 7 8
     88
     89  mcreate m1 5 8
     90 
     91  # generate a weight vector of length v1[]
     92  vlist my 9 8 7 6 5 4 3 2
     93
     94  for i 0 5
     95    mset m1 my -y $i
     96    set my = my + $i
     97  end
     98 
     99  # set weights and biases
     100  nnet set t1 m1 v1
     101
     102  # get weights and biases
     103  nnet get t1 M1 V1
     104
     105  # compare
     106  set dv = v1 - V1
     107  vstat dv
     108
     109  set dm = m1 - M1
     110  stat dm
     111 
     112  nnet delete t0
     113  nnet delete t1
     114
     115  delete m1 M1 dm
     116  delete v1 V1 dv my
     117
     118  vectors
     119  buffers
     120
     121  memory all
     122end
     123
Note: See TracChangeset for help on using the changeset viewer.