From 164ba34279a4d486d6e49409de791817b62ad1ac Mon Sep 17 00:00:00 2001 From: AlexeyAB Date: Fri, 16 Mar 2018 14:58:21 +0300 Subject: [PATCH] Fixed bug, that save weights-file for each iteration --- build/darknet/x64/resnet152_yolo.cfg | 4 ++-- build/darknet/x64/resnet50_yolo.cfg | 4 ++-- src/demo.c | 1 + src/detector.c | 9 ++++----- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/build/darknet/x64/resnet152_yolo.cfg b/build/darknet/x64/resnet152_yolo.cfg index 0ea61122..d766084d 100644 --- a/build/darknet/x64/resnet152_yolo.cfg +++ b/build/darknet/x64/resnet152_yolo.cfg @@ -1,6 +1,6 @@ [net] batch=64 -subdivisions=8 +subdivisions=32 height=416 width=416 channels=3 @@ -1470,4 +1470,4 @@ coord_scale=1 absolute=1 thresh = .6 -random=0 +random=1 diff --git a/build/darknet/x64/resnet50_yolo.cfg b/build/darknet/x64/resnet50_yolo.cfg index 9a911938..44dc68e9 100644 --- a/build/darknet/x64/resnet50_yolo.cfg +++ b/build/darknet/x64/resnet50_yolo.cfg @@ -1,6 +1,6 @@ [net] batch=64 -subdivisions=8 +subdivisions=32 height=416 width=416 channels=3 @@ -517,4 +517,4 @@ coord_scale=1 absolute=1 thresh = .6 -random=0 +random=1 \ No newline at end of file diff --git a/src/demo.c b/src/demo.c index 376ddea9..f1798c7b 100644 --- a/src/demo.c +++ b/src/demo.c @@ -143,6 +143,7 @@ void demo(char *cfgfile, char *weightfile, float thresh, int cam_index, const ch printf("video file: %s\n", filename); cap = cvCaptureFromFile(filename); }else{ + printf("Webcam index: %d\n", cam_index); cap = cvCaptureFromCAM(cam_index); } diff --git a/src/detector.c b/src/detector.c index 6d60cf00..9f608a08 100644 --- a/src/detector.c +++ b/src/detector.c @@ -43,9 +43,6 @@ void train_detector(char *datacfg, char *cfgfile, char *weightfile, int *gpus, i float avg_loss = -1; network *nets = calloc(ngpus, sizeof(network)); - int iter_save; - iter_save = 100; - srand(time(0)); int seed = rand(); int i; @@ -79,6 +76,8 @@ void train_detector(char *datacfg, char *cfgfile, char *weightfile, int *gpus, i int init_w = net.w; int init_h = net.h; + int iter_save; + iter_save = get_current_batch(net); load_args args = {0}; args.w = net.w; @@ -180,8 +179,8 @@ void train_detector(char *datacfg, char *cfgfile, char *weightfile, int *gpus, i //if (i % 1000 == 0 || (i < 1000 && i % 100 == 0)) { //if (i % 100 == 0) { - if(i >= iter_save) { - iter_save += 100; + if(i >= (iter_save + 100)) { + iter_save = i; #ifdef GPU if (ngpus != 1) sync_nets(nets, ngpus, 0); #endif