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