From 81c23650e1b880279d29e9a6cef18d29e2cec69c Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Wed, 16 Dec 2015 19:46:39 +0000
Subject: [PATCH] missing file

---
 src/nightmare.c |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/src/nightmare.c b/src/nightmare.c
index 882c0eb..1a78dd5 100644
--- a/src/nightmare.c
+++ b/src/nightmare.c
@@ -25,7 +25,7 @@
     }
 }
 
-void optimize_picture(network *net, image orig, int max_layer, float scale, float rate, float thresh)
+void optimize_picture(network *net, image orig, int max_layer, float scale, float rate, float thresh, int norm)
 {
     scale_image(orig, 2);
     translate_image(orig, -1);
@@ -49,7 +49,7 @@
 
 #ifdef GPU
     state.input = cuda_make_array(im.data, im.w*im.h*im.c);
-    state.delta = cuda_make_array(0, im.w*im.h*im.c);
+    state.delta = cuda_make_array(im.data, im.w*im.h*im.c);
 
     forward_network_gpu(*net, state);
     copy_ongpu(last.outputs, last.output_gpu, 1, last.delta_gpu, 1);
@@ -85,7 +85,7 @@
 
     //rate = rate / abs_mean(out.data, out.w*out.h*out.c);
 
-    normalize_array(out.data, out.w*out.h*out.c);
+    if(norm) normalize_array(out.data, out.w*out.h*out.c);
     axpy_cpu(orig.w*orig.h*orig.c, rate, out.data, 1, orig.data, 1);
 
     /*
@@ -123,6 +123,7 @@
     int max_layer = atoi(argv[5]);
 
     int range = find_int_arg(argc, argv, "-range", 1);
+    int norm = find_int_arg(argc, argv, "-norm", 1);
     int rounds = find_int_arg(argc, argv, "-rounds", 1);
     int iters = find_int_arg(argc, argv, "-iters", 10);
     int octaves = find_int_arg(argc, argv, "-octaves", 4);
@@ -130,6 +131,7 @@
     float rate = find_float_arg(argc, argv, "-rate", .04);
     float thresh = find_float_arg(argc, argv, "-thresh", 1.);
     float rotate = find_float_arg(argc, argv, "-rotate", 0);
+    char *prefix = find_char_arg(argc, argv, "-prefix", 0);
 
     network net = parse_network_cfg(cfg);
     load_weights(&net, weights);
@@ -159,7 +161,7 @@
             fflush(stderr);
             int layer = max_layer + rand()%range - range/2;
             int octave = rand()%octaves;
-            optimize_picture(&net, im, layer, 1/pow(1.33333333, octave), rate, thresh);
+            optimize_picture(&net, im, layer, 1/pow(1.33333333, octave), rate, thresh, norm);
         }
         fprintf(stderr, "done\n");
         if(0){
@@ -168,7 +170,11 @@
             im = g;
         }
         char buff[256];
-        sprintf(buff, "%s_%s_%d_%06d",imbase, cfgbase, max_layer, e);
+        if (prefix){
+            sprintf(buff, "%s/%s_%s_%d_%06d",prefix, imbase, cfgbase, max_layer, e);
+        }else{
+            sprintf(buff, "%s_%s_%d_%06d",imbase, cfgbase, max_layer, e);
+        }
         printf("%d %s\n", e, buff);
         save_image(im, buff);
         //show_image(im, buff);

--
Gitblit v1.10.0