From a0362aaf78de6b8b6d2a18ddb3984a4e10b93e37 Mon Sep 17 00:00:00 2001 From: Deepak Ghimire Date: Wed, 21 Nov 2018 12:05:21 +0900 Subject: [PATCH] minor fix --- bin/yolo_cpu.exe | Bin 87040 -> 0 bytes bin/yolov2-voc.cfg | 1 - src/additionally.c | 2 ++ src/main.c | 3 ++- src/yolov2_forward_network.c | 4 +++- 5 files changed, 7 insertions(+), 3 deletions(-) delete mode 100644 bin/yolo_cpu.exe diff --git a/bin/yolo_cpu.exe b/bin/yolo_cpu.exe deleted file mode 100644 index 9b527d7061ccfa7e826dd936a205273de35f7d64..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87040 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 = calloc(l->align_bit_weights_size, sizeof(char)); size_t i, j; + // align A without transpose for (i = 0; i < m; ++i) { for (j = 0; j < k; ++j) { align_weights[i*new_lda + j] = l->binary_weights[i*k + j]; } } + float_to_bit(align_weights, l->align_bit_weights, align_weights_size); l->mean_arr = calloc(l->n, sizeof(float)); diff --git a/src/main.c b/src/main.c index b498025..b442097 100644 --- a/src/main.c +++ b/src/main.c @@ -272,7 +272,8 @@ int main(int argc, char **argv) } _mkdir("dbg"); - m_dbg = 1; + + m_dbg = 0; if (argc < 2) { fprintf(stderr, "usage: %s \n", argv[0]); diff --git a/src/yolov2_forward_network.c b/src/yolov2_forward_network.c index 7b44d67..ac56826 100644 --- a/src/yolov2_forward_network.c +++ b/src/yolov2_forward_network.c @@ -1,6 +1,7 @@ #include "additionally.h" // some definitions from: im2col.h, blas.h, list.h, utils.h, activations.h, tree.h, layer.h, network.h // softmax_layer.h, reorg_layer.h, route_layer.h, region_layer.h, maxpool_layer.h, convolutional_layer.h + // binary transpose size_t binary_transpose_align_input(int k, int n, float *b, char **t_bit_input, size_t ldb_align, int bit_align) { @@ -30,7 +31,7 @@ void forward_convolutional_layer_cpu(layer l, int layer_id, network_state state) if (!l.align_bit_weights) { binarize_weights(l.weights, l.n, l.c*l.size*l.size, l.binary_weights); - //printf("\n binarize_weights l.align_bit_weights = %p \n", l.align_bit_weights); + printf("\n binarize_weights l.align_bit_weights = %p \n", l.align_bit_weights); } binarize_cpu(state.input, l.c*l.h*l.w*l.batch, l.binary_input); @@ -92,6 +93,7 @@ void forward_convolutional_layer_cpu(layer l, int layer_id, network_state state) } } + int const out_size = out_h*out_w; // 2. Batch normalization