Joseph Redmon
2014-01-24 ace5aeb0f59fdceb99e607af9780added20da37c
src/network.c
@@ -63,7 +63,7 @@
        }
        else if(net.types[i] == CONNECTED){
            connected_layer layer = *(connected_layer *)net.layers[i];
            update_connected_layer(layer, step, momentum, decay);
            update_connected_layer(layer, step, momentum, 0);
        }
    }
}
@@ -187,6 +187,24 @@
    }
    return (double)correct/n;
}
double train_network_batch(network net, data d, int n, double step, double momentum,double decay)
{
    int i;
    int correct = 0;
    for(i = 0; i < n; ++i){
        int index = rand()%d.X.rows;
        double *x = d.X.vals[index];
        double *y = d.y.vals[index];
        forward_network(net, x);
        int class = get_predicted_class_network(net);
        backward_network(net, x, y);
        correct += (y[class]?1:0);
    }
    update_network(net, step, momentum, decay);
    return (double)correct/n;
}
void train_network(network net, data d, double step, double momentum, double decay)
{