| | |
| | | if(!train) continue; |
| | | dropout_layer layer = *(dropout_layer *)net.layers[i]; |
| | | forward_dropout_layer(layer, input); |
| | | input = layer.output; |
| | | } |
| | | else if(net.types[i] == FREEWEIGHT){ |
| | | if(!train) continue; |
| | |
| | | } |
| | | else if(net.types[i] == CONNECTED){ |
| | | connected_layer layer = *(connected_layer *)net.layers[i]; |
| | | //secret_update_connected_layer((connected_layer *)net.layers[i]); |
| | | update_connected_layer(layer); |
| | | } |
| | | } |
| | |
| | | softmax_layer layer = *(softmax_layer *)net.layers[i]; |
| | | return layer.output; |
| | | } else if(net.types[i] == DROPOUT){ |
| | | return get_network_output_layer(net, i-1); |
| | | dropout_layer layer = *(dropout_layer *)net.layers[i]; |
| | | return layer.output; |
| | | } else if(net.types[i] == FREEWEIGHT){ |
| | | return get_network_output_layer(net, i-1); |
| | | } else if(net.types[i] == CONNECTED){ |
| | |
| | | softmax_layer layer = *(softmax_layer *)net.layers[i]; |
| | | return layer.delta; |
| | | } else if(net.types[i] == DROPOUT){ |
| | | if(i == 0) return 0; |
| | | return get_network_delta_layer(net, i-1); |
| | | } else if(net.types[i] == FREEWEIGHT){ |
| | | return get_network_delta_layer(net, i-1); |
| | |
| | | cost_layer *layer = (cost_layer *)net->layers[i]; |
| | | layer->batch = b; |
| | | } |
| | | else if(net->types[i] == CROP){ |
| | | crop_layer *layer = (crop_layer *)net->layers[i]; |
| | | layer->batch = b; |
| | | } |
| | | } |
| | | } |
| | | |