首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tf.layers.conv2d: use_bias=False和bias_initializer=None是一样的吗?

tf.layers.conv2d: use_bias=False和bias_initializer=None是一样的吗?
EN

Stack Overflow用户
提问于 2017-05-09 09:40:01
回答 2查看 1.8K关注 0票数 1

据我所知,tf.layers.conv2d有两种不同的禁用偏差的方法:设置use_bias=False和设置bias_initializer=None

这些是相同的,还是它们做了不同的事情?我需要同时使用这两种工具吗?

EN

回答 2

Stack Overflow用户

发布于 2017-05-09 11:06:00

我不确定bias_initializer=None是否可以禁用偏差

一个小测试

代码语言:javascript
复制
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,将偏差设置为可训练变量

票数 1
EN

Stack Overflow用户

发布于 2017-05-09 10:16:35

您可以设置use_bias = False或设置bias_initializer=None以禁用偏置。我认为第一个更直观。但是,不设置bias_initializer将使其为零,并且不设置kernel_initializer将根据this答案使其为glorot_uniform

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43859678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档