2017-05-09 172 views

回答

0

您可以設置use_bias = False或設置bias_initializer=None以禁用偏差。我認爲第一個更直觀。但是,沒有設置bias_initializer會使它爲零而不是設置kernel_initializer會使它glorot_uniform根據this答案。

1

我不知道bias_initializer=None可以禁用偏置

一個小測試

data = np.random.rand(2, 5, 8, 3).astype(np.float32) 
tensor = tf.constant(data) 
n = tf.layers.conv2d(tensor, 10, 3, 1, bias_initializer=None) 
tfvar = tf.trainable_variables() 
# tfvar 
# [<tf.Variable 'conv2d/kernel:0' shape=(3, 3, 3, 10) dtype=float32_ref>, 
# <tf.Variable 'conv2d/bias:0' shape=(10,) dtype=float32_ref>] 

即使設置bias_initializer=None,得到偏見訓練的變量

相關問題