AlexeyAB
2018-01-04 9ac78d8b84f6a059d2cefe22a10aa60de5b3feaf
Fine tuning, use stopbackward=1 in the cfg-file in that layer where Backward should be stopped.
4 files modified
6 ■■■■■ changed files
src/layer.h 2 ●●●●● patch | view | raw | blame | history
src/network.c 1 ●●●● patch | view | raw | blame | history
src/network_kernels.cu 1 ●●●● patch | view | raw | blame | history
src/parser.c 2 ●●●●● patch | view | raw | blame | history
src/layer.h
@@ -122,6 +122,8 @@
    int classfix;
    int absolute;
    int onlyforward;
    int stopbackward;
    int dontload;
    int dontloadscales;
src/network.c
@@ -218,6 +218,7 @@
            state.delta = prev.delta;
        }
        layer l = net.layers[i];
        if (l.stopbackward) break;
        l.backward(l, state);
    }
}
src/network_kernels.cu
@@ -64,6 +64,7 @@
    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;
src/parser.c
@@ -672,6 +672,8 @@
        }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);