From 08c7cf9c88befd845f00c00d85e40a9eead4b1b3 Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Sun, 19 Jun 2016 21:28:15 +0000
Subject: [PATCH] no mean on input binarization

---
 src/convolutional_layer.c |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/convolutional_layer.c b/src/convolutional_layer.c
index c88cb0a..4014a24 100644
--- a/src/convolutional_layer.c
+++ b/src/convolutional_layer.c
@@ -45,6 +45,14 @@
     }
 }
 
+void binarize_cpu(float *input, int n, float *binary)
+{
+    int i;
+    for(i = 0; i < n; ++i){
+        binary[i] = (input[i] > 0) ? 1 : -1;
+    }
+}
+
 void binarize_input(float *input, int n, int size, float *binary)
 {
     int i, s;
@@ -426,12 +434,10 @@
        }
      */
 
-    if(l.xnor && (l.c%32 != 0 || !AI2)){
+    if(l.xnor ){
         binarize_filters(l.filters, l.n, l.c*l.size*l.size, l.binary_filters);
         swap_binary(&l);
-        for(i = 0; i < l.batch; ++i){
-            binarize_input(state.input + i*l.inputs, l.c, l.h*l.w, l.binary_input + i*l.inputs);
-        }
+        binarize_cpu(state.input, l.c*l.h*l.w*l.batch, l.binary_input);
         state.input = l.binary_input;
     }
 

--
Gitblit v1.10.0