2017-05-09 138 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,得到偏见训练的变量

相关问题