/** * @brief Copies the hidden layer from the autocoder to the main network * @param net Backprop neural net object * @param autocoder Autocoder neural net object * @param hidden_layer The layer within the neural net to be replaced with * autocoder hidden units */ void bp_update_from_autocoder(bp * net, bp * autocoder, int hidden_layer) { int i; /* for each unit on the hidden layer */ for (i = 0; i < net->NoOfHiddens; i++) { /* copy the neuron parameters from the autocoder hidden layer */ bp_neuron_copy(autocoder->hiddens[0][i], net->hiddens[hidden_layer][i]); } }
static void test_backprop_neuron_copy() { bp_neuron n1, n2; int retval, no_of_inputs=10; unsigned int random_seed = 123; printf("test_backprop_neuron_copy..."); bp_neuron_init(&n1, no_of_inputs, &random_seed); bp_neuron_init(&n2, no_of_inputs, &random_seed); bp_neuron_copy(&n1, &n2); retval = bp_neuron_compare(&n1, &n2); if (retval != 1) { printf("\nretval %d\n", retval); } assert(retval == 1); bp_neuron_free(&n1); bp_neuron_free(&n2); printf("Ok\n"); }