From 2fb75da727edbbd842b6d2d7cdc52022ecb39aa4 Mon Sep 17 00:00:00 2001 From: Joseph Redmon Date: Wed, 10 Jun 2015 00:22:48 -0700 Subject: [PATCH] NIPS demo --- Makefile | 10 +++++++--- src/detection.c | 9 +++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index bc3b9bf7..1d1fdf2b 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ -GPU=1 -OPENCV=1 +GPU=0 +OPENCV=0 DEBUG=0 ARCH= -arch=sm_52 @@ -42,7 +42,7 @@ endif OBJS = $(addprefix $(OBJDIR), $(OBJ)) DEPS = $(wildcard src/*.h) Makefile -all: $(EXEC) +all: obj $(EXEC) $(EXEC): $(OBJS) $(CC) $(COMMON) $(CFLAGS) $(LDFLAGS) $^ -o $@ @@ -53,6 +53,10 @@ $(OBJDIR)%.o: %.c $(DEPS) $(OBJDIR)%.o: %.cu $(DEPS) $(NVCC) $(ARCH) $(COMMON) --compiler-options "$(CFLAGS)" -c $< -o $@ +obj: + mkdir -p obj + + .PHONY: clean clean: diff --git a/src/detection.c b/src/detection.c index ac93efb3..a3b40cab 100644 --- a/src/detection.c +++ b/src/detection.c @@ -7,16 +7,16 @@ char *class_names[] = {"aeroplane", "bicycle", "bird", "boat", "bottle", "bus", "car", "cat", "chair", "cow", "diningtable", "dog", "horse", "motorbike", "person", "pottedplant", "sheep", "sofa", "train", "tvmonitor"}; -void draw_detection(image im, float *box, int side, int bg, char *label) +void draw_detection(image im, float *box, int side, char *label) { int classes = 20; - int elems = 4+classes+bg; + int elems = 4+classes; int j; int r, c; for(r = 0; r < side; ++r){ for(c = 0; c < side; ++c){ - j = (r*side + c) * elems + bg; + j = (r*side + c) * elems; int class = max_index(box+j, classes); if(box[j+class] > .2){ printf("%f %s\n", box[j+class], class_names[class]); @@ -212,6 +212,7 @@ void test_detection(char *cfgfile, char *weightfile) load_weights(&net, weightfile); } detection_layer layer = get_network_detection_layer(net); + if (!layer.joint) fprintf(stderr, "Detection layer should use joint prediction to draw correctly.\n"); int im_size = 448; set_batch_network(&net, 1); srand(2222222); @@ -227,7 +228,7 @@ void test_detection(char *cfgfile, char *weightfile) time=clock(); float *predictions = network_predict(net, X); printf("%s: Predicted in %f seconds.\n", filename, sec(clock()-time)); - draw_detection(im, predictions, 7, layer.background || layer.objectness, "predictions"); + draw_detection(im, predictions, 7, "predictions"); free_image(im); free_image(sized); #ifdef OPENCV