float train_network_sgd(network net, data d, int n) { int batch = net.batch; int i; float sum = 0; for(i = 0; i < n; ++i){ get_random_batch(d, batch, net.input, net.truth); float err = train_network_datum(net); sum += err; } return (float)sum/(n*batch); }
float train_network_sgd(network net, data d, int n) { int batch = net.batch; float *X = calloc(batch*d.X.cols, sizeof(float)); float *y = calloc(batch*d.y.cols, sizeof(float)); int i; float sum = 0; for(i = 0; i < n; ++i){ get_random_batch(d, batch, X, y); float err = train_network_datum(net, X, y); sum += err; } free(X); free(y); return (float)sum/(n*batch); }