From a567a806a61b77eed177c2520bda8bb55924f8d7 Mon Sep 17 00:00:00 2001 From: AlexeyAB Date: Wed, 11 Mar 2020 01:46:10 +0300 Subject: [PATCH] Set cur_iteration = 0; initially --- src/classifier.c | 5 ++++- src/darknet.c | 2 ++ src/detector.c | 5 ++++- src/parser.c | 10 ++++++++-- src/rnn.c | 5 ++++- src/tag.c | 5 ++++- 6 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/classifier.c b/src/classifier.c index 07f48f18..9924cf63 100644 --- a/src/classifier.c +++ b/src/classifier.c @@ -48,7 +48,10 @@ void train_classifier(char *datacfg, char *cfgfile, char *weightfile, int *gpus, if(weightfile){ load_weights(&nets[i], weightfile); } - if(clear) *nets[i].seen = 0; + if (clear) { + *nets[i].seen = 0; + *nets[i].cur_iteration = 0; + } nets[i].learning_rate *= ngpus; } srand(time(0)); diff --git a/src/darknet.c b/src/darknet.c index d4f88b02..81e44727 100644 --- a/src/darknet.c +++ b/src/darknet.c @@ -165,6 +165,7 @@ void oneoff(char *cfgfile, char *weightfile, char *outfile) copy_cpu(l.n/3*l.c, l.weights, 1, l.weights + l.n/3*l.c, 1); copy_cpu(l.n/3*l.c, l.weights, 1, l.weights + 2*l.n/3*l.c, 1); *net.seen = 0; + *net.cur_iteration = 0; save_weights(net, outfile); } @@ -176,6 +177,7 @@ void partial(char *cfgfile, char *weightfile, char *outfile, int max) load_weights_upto(&net, weightfile, max); } *net.seen = 0; + *net.cur_iteration = 0; save_weights_upto(net, outfile, max); } diff --git a/src/detector.c b/src/detector.c index 8753d641..536befb8 100644 --- a/src/detector.c +++ b/src/detector.c @@ -77,7 +77,10 @@ void train_detector(char *datacfg, char *cfgfile, char *weightfile, int *gpus, i if (weightfile) { load_weights(&nets[k], weightfile); } - if (clear) *nets[k].seen = 0; + if (clear) { + *nets[k].seen = 0; + *nets[k].cur_iteration = 0; + } nets[k].learning_rate *= ngpus; } srand(time(0)); diff --git a/src/parser.c b/src/parser.c index 2bd6270a..241fb932 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1973,7 +1973,10 @@ network *load_network_custom(char *cfg, char *weights, int clear, int batch) load_weights(net, weights); } fuse_conv_batchnorm(*net); - if (clear) (*net->seen) = 0; + if (clear) { + (*net->seen) = 0; + (*net->cur_iteration) = 0; + } return net; } @@ -1987,6 +1990,9 @@ network *load_network(char *cfg, char *weights, int clear) printf(" Try to load weights: %s \n", weights); load_weights(net, weights); } - if (clear) (*net->seen) = 0; + if (clear) { + (*net->seen) = 0; + (*net->cur_iteration) = 0; + } return net; } diff --git a/src/rnn.c b/src/rnn.c index 6c9b38c8..53fb8f32 100644 --- a/src/rnn.c +++ b/src/rnn.c @@ -155,7 +155,10 @@ void train_char_rnn(char *cfgfile, char *weightfile, char *filename, int clear, fprintf(stderr, "Learning Rate: %g, Momentum: %g, Decay: %g\n", net.learning_rate, net.momentum, net.decay); int batch = net.batch; int steps = net.time_steps; - if(clear) *net.seen = 0; + if (clear) { + *net.seen = 0; + *net.cur_iteration = 0; + } int i = (*net.seen)/net.batch; int streams = batch/steps; diff --git a/src/tag.c b/src/tag.c index ec9327af..d7e1349a 100644 --- a/src/tag.c +++ b/src/tag.c @@ -13,7 +13,10 @@ void train_tag(char *cfgfile, char *weightfile, int clear) if(weightfile){ load_weights(&net, weightfile); } - if(clear) *net.seen = 0; + if (clear) { + *net.seen = 0; + *net.cur_iteration = 0; + } printf("Learning Rate: %g, Momentum: %g, Decay: %g\n", net.learning_rate, net.momentum, net.decay); int imgs = 1024; list* plist = get_paths("tag/train.list");