Joseph Redmon
2015-12-14 db0397cfaaf488364e3d2e1669dfefae2ee6ea73
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);
@@ -160,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){