static void train_network(void) { int i, j, time = 0; double error; /* 误差 */ do { error = 0.0; for (i = 0; i < DATA; i++) { comput_output(i); for (j = 0; j < OUT; j++) error += fabs((output_data[j] - data_out[i][j]) / data_out[i][j]); back_update(i); } time++; printf("%d %lf\n",time, error / DATA); } while (time < TRAINC && error / DATA > ERROR); //printf("train finish\n"); }
~cache_impl() { back_update(bool_constant< IsConst>()); }