From 989ab8c38a02fa7ea9c25108151736c62e81c972 Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Fri, 24 Apr 2015 17:27:50 +0000
Subject: [PATCH] IOU loss function

---
 src/imagenet.c |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/src/imagenet.c b/src/imagenet.c
index 9118c08..3f88b36 100644
--- a/src/imagenet.c
+++ b/src/imagenet.c
@@ -4,8 +4,9 @@
 
 void train_imagenet(char *cfgfile, char *weightfile)
 {
-    float avg_loss = -1;
+    data_seed = time(0);
     srand(time(0));
+    float avg_loss = -1;
     char *base = basecfg(cfgfile);
     printf("%s\n", base);
     network net = parse_network_cfg(cfgfile);
@@ -29,6 +30,13 @@
         time=clock();
         pthread_join(load_thread, 0);
         train = buffer;
+
+/*
+        image im = float_to_image(256, 256, 3, train.X.vals[114]);
+        show_image(im, "training");
+        cvWaitKey(0);
+        */
+
         load_thread = load_data_thread(paths, imgs, plist->size, labels, 1000, 256, 256, &buffer);
         printf("Loaded: %lf seconds\n", sec(clock()-time));
         time=clock();
@@ -38,7 +46,8 @@
         avg_loss = avg_loss*.9 + loss*.1;
         printf("%d: %f, %f avg, %lf seconds, %d images\n", i, loss, avg_loss, sec(clock()-time), net.seen);
         free_data(train);
-        if(i%100==0){
+        //if(i%100 == 0 && net.learning_rate > .00001) net.learning_rate *= .97;
+        if(i%1000==0){
             char buff[256];
             sprintf(buff, "/home/pjreddie/imagenet_backup/%s_%d.weights",base, i);
             save_weights(net, buff);
@@ -108,8 +117,8 @@
         fgets(filename, 256, stdin);
         strtok(filename, "\n");
         image im = load_image_color(filename, 256, 256);
-        translate_image(im, -128);
-        scale_image(im, 1/128.);
+        scale_image(im, 2.);
+        translate_image(im, -1.);
         printf("%d %d %d\n", im.h, im.w, im.c);
         float *X = im.data;
         time=clock();

--
Gitblit v1.10.0