| | |
| | | #include <stdio.h> |
| | | #include <time.h> |
| | | #include <assert.h> |
| | | #include "network.h" |
| | | #include "image.h" |
| | | #include "data.h" |
| | |
| | | |
| | | float train_network_datum(network net, float *x, float *y) |
| | | { |
| | | *net.seen += net.batch; |
| | | #ifdef GPU |
| | | if(gpu_index >= 0) return train_network_datum_gpu(net, x, y); |
| | | #endif |
| | | network_state state; |
| | | *net.seen += net.batch; |
| | | state.index = 0; |
| | | state.net = net; |
| | | state.input = x; |
| | |
| | | |
| | | float train_network(network net, data d) |
| | | { |
| | | assert(d.X.rows % net.batch == 0); |
| | | int batch = net.batch; |
| | | int n = d.X.rows / batch; |
| | | float *X = calloc(batch*d.X.cols, sizeof(float)); |
| | |
| | | net->h = h; |
| | | int inputs = 0; |
| | | size_t workspace_size = 0; |
| | | //fprintf(stderr, "Resizing to %d x %d...", w, h); |
| | | //fprintf(stderr, "Resizing to %d x %d...\n", w, h); |
| | | //fflush(stderr); |
| | | for (i = 0; i < net->n; ++i){ |
| | | layer l = net->layers[i]; |