我从TensorFlow开始,我正在尝试创建一个二进制网络。更具体地说,我正在寻找一个将在大小为n的二进制向量中编码图像的散列网络。所以我有一个经典的网络,我在softmax之前将最后一层二值化。
TensorFlow提供tf.sign
功能,可以做到这一点,但我无法弄清楚反向传播在实践中如何工作,因为它不是连续的。
有什么想法吗?
答案 0 :(得分:0)
不幸的是 public class mainactivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button SuSe = (Button) findViewById(R.id.SuSe);
SuSe.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Button Clicked
}
});
}
}
的渐变总是被定义为tf.sign()
(可能因为没有好的方法来定义它。)
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/ops/math_grad.py#L542
0