Fine tuning, use stopbackward=1 in the cfg-file in that layer where Backward should be stopped.

This commit is contained in:
AlexeyAB 2018-01-05 00:58:52 +03:00
parent 9d23aad869
commit 9ac78d8b84
4 changed files with 6 additions and 0 deletions

View File

@ -122,6 +122,8 @@ struct layer{
int classfix;
int absolute;
int onlyforward;
int stopbackward;
int dontload;
int dontloadscales;

View File

@ -218,6 +218,7 @@ void backward_network(network net, network_state state)
state.delta = prev.delta;
}
layer l = net.layers[i];
if (l.stopbackward) break;
l.backward(l, state);
}
}

View File

@ -64,6 +64,7 @@ void backward_network_gpu(network net, network_state state)
for(i = net.n-1; i >= 0; --i){
state.index = i;
layer l = net.layers[i];
if (l.stopbackward) break;
if(i == 0){
state.input = original_input;
state.delta = original_delta;

View File

@ -672,6 +672,8 @@ network parse_network_cfg_custom(char *filename, int batch)
}else{
fprintf(stderr, "Type not recognized: %s\n", s->type);
}
l.onlyforward = option_find_int_quiet(options, "onlyforward", 0);
l.stopbackward = option_find_int_quiet(options, "stopbackward", 0);
l.dontload = option_find_int_quiet(options, "dontload", 0);
l.dontloadscales = option_find_int_quiet(options, "dontloadscales", 0);
option_unused(options);