From 5e468d1c13d6f3cd64747dfa0ef1910a1165941e Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Thu, 17 Apr 2014 16:51:38 +0000
Subject: [PATCH] LRNorm layer, Viz, better cfg
---
src/tests.c | 63 ++++++++++++++++++-------------
1 files changed, 37 insertions(+), 26 deletions(-)
diff --git a/src/tests.c b/src/tests.c
index a6c3cd3..eb85a5f 100644
--- a/src/tests.c
+++ b/src/tests.c
@@ -548,7 +548,9 @@
score[i] = calloc(topk, sizeof(float));
}
+ int count = 0;
while(n){
+ ++count;
char *image_path = (char *)n->val;
image im = load_image(image_path, 0, 0);
n = n->next;
@@ -560,37 +562,46 @@
forward_network(net, im.data);
image out = get_network_image(net);
- int dh = (im.h - h)/h;
- int dw = (im.w - w)/w;
- for(i = 0; i < out.h; ++i){
- for(j = 0; j < out.w; ++j){
- image sub = get_sub_image(im, dh*i, dw*j, h, w);
- for(k = 0; k < out.c; ++k){
+ int dh = (im.h - h)/(out.h-1);
+ int dw = (im.w - w)/(out.w-1);
+ //printf("%d %d\n", dh, dw);
+ for(k = 0; k < out.c; ++k){
+ float topv = 0;
+ int topi = -1;
+ int topj = -1;
+ for(i = 0; i < out.h; ++i){
+ for(j = 0; j < out.w; ++j){
float val = get_pixel(out, i, j, k);
- //printf("%f, ", val);
- image sub_c = copy_image(sub);
- for(l = 0; l < topk; ++l){
- if(val > score[k][l]){
- float swap = score[k][l];
- score[k][l] = val;
- val = swap;
-
- image swapi = vizs[k][l];
- vizs[k][l] = sub_c;
- sub_c = swapi;
- }
+ if(val > topv){
+ topv = val;
+ topi = i;
+ topj = j;
}
- free_image(sub_c);
+ }
+ }
+ if(topv){
+ image sub = get_sub_image(im, dh*topi, dw*topj, h, w);
+ for(l = 0; l < topk; ++l){
+ if(topv > score[k][l]){
+ float swap = score[k][l];
+ score[k][l] = topv;
+ topv = swap;
+
+ image swapi = vizs[k][l];
+ vizs[k][l] = sub;
+ sub = swapi;
+ }
}
free_image(sub);
}
}
free_image(im);
- //printf("\n");
- image grid = grid_images(vizs, num, topk);
- show_image(grid, "IMAGENET Visualization");
- save_image(grid, "IMAGENET Grid");
- free_image(grid);
+ if(count%50 == 0){
+ image grid = grid_images(vizs, num, topk);
+ //show_image(grid, "IMAGENET Visualization");
+ save_image(grid, "IMAGENET Grid Single Nonorm");
+ free_image(grid);
+ }
}
//cvWaitKey(0);
}
@@ -644,7 +655,7 @@
printf("Processing %dx%d image\n", im.h, im.w);
resize_network(net, im.h, im.w, im.c);
forward_network(net, im.data);
-
+
image out = get_network_image(net);
visualize_network(net);
cvWaitKey(1000);
@@ -778,7 +789,7 @@
//features_VOC_image(argv[1], argv[2], argv[3]);
//features_VOC_image_size(argv[1], atoi(argv[2]), atoi(argv[3]));
//visualize_imagenet_features("data/assira/train.list");
- visualize_imagenet_topk("data/VOC2011.list");
+ visualize_imagenet_topk("data/VOC2012.list");
//visualize_cat();
//flip_network();
//test_visualize();
--
Gitblit v1.10.0