Changeset 40642 for trunk/Ohana/src/opihi/cmd.data
- Timestamp:
- Mar 18, 2019, 5:02:59 PM (7 years ago)
- Location:
- trunk/Ohana/src/opihi/cmd.data
- Files:
-
- 2 edited
-
nnet_train.c (modified) (3 diffs)
-
sort.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/cmd.data/nnet_train.c
r40371 r40642 3 3 // these are local only 4 4 float nnet_sigmoid (float value); 5 void nnet_sortseq (float *X, int *Y, int N);6 5 int nnet_onelayer (Nnet *nnet, int L); 7 6 void nnet_reset_Nabla (Nnet *nnet); … … 191 190 // generate a random sequence : used to select random mini batches 192 191 for (int i = 0; i < Ntrial; i++) { seq[i] = i; rnd[i] = drand48(); } 193 nnet_sortseq(rnd, seq, Ntrial);192 sort_float_index (rnd, seq, Ntrial); 194 193 195 194 int Npass = Ntrial / Nmini; … … 514 513 return 1.0 / (1.0 + exp(-value)); 515 514 } 516 517 void nnet_sortseq (float *X, int *Y, int N) {518 519 # define SWAPFUNC(A,B){ float ftmp; int itmp; \520 ftmp = X[A]; X[A] = X[B]; X[B] = ftmp; \521 itmp = Y[A]; Y[A] = Y[B]; Y[B] = itmp; \522 }523 # define COMPARE(A,B)(X[A] < X[B])524 525 OHANA_SORT (N, COMPARE, SWAPFUNC);526 527 # undef SWAPFUNC528 # undef COMPARE529 530 }531 -
trunk/Ohana/src/opihi/cmd.data/sort.c
r40398 r40642 1 1 # include "data.h" 2 3 void fsortindex (opihi_flt *X, int *IDX, int N) {4 5 # define SWAPFUNC(A,B){ opihi_flt tmp; int itmp; \6 tmp = X[A]; X[A] = X[B]; X[B] = tmp; \7 itmp = IDX[A]; IDX[A] = IDX[B]; IDX[B] = itmp; \8 }9 10 // # define COMPARE(A,B)(X[A] < X[B])11 # define COMPARE(A,B)((!isfinite(X[A]) && isfinite(X[B])) || (X[A] < X[B]))12 13 OHANA_SORT (N, COMPARE, SWAPFUNC);14 15 # undef SWAPFUNC16 # undef COMPARE17 18 }19 20 void isortindex (opihi_int *X, int *IDX, int N) {21 22 # define SWAPFUNC(A,B){ opihi_int tmp; int itmp; \23 tmp = X[A]; X[A] = X[B]; X[B] = tmp; \24 itmp = IDX[A]; IDX[A] = IDX[B]; IDX[B] = itmp; \25 }26 27 # define COMPARE(A,B)(X[A] < X[B])28 // # define COMPARE(A,B)((!isfinite(X[A]) && isfinite(X[B])) || (X[A] < X[B]))29 30 OHANA_SORT (N, COMPARE, SWAPFUNC);31 32 # undef SWAPFUNC33 # undef COMPARE34 35 }36 2 37 3 // XXX add an option to NOT sort, but return an index instead? … … 78 44 /* sort key & index */ 79 45 if (vec[0][0].type == OPIHI_FLT) { 80 fsortindex (vec[0][0].elements.Flt, index, Nval);46 sort_opihi_flt_index (vec[0][0].elements.Flt, index, Nval); 81 47 } else { 82 isortindex (vec[0][0].elements.Int, index, Nval);48 sort_int_index (vec[0][0].elements.Int, index, Nval); 83 49 } 84 50
Note:
See TracChangeset
for help on using the changeset viewer.
