initializer = tf.random_uniform_initializer(-0.1,
0.1)
with tf.name_scope("Train"):
with tf.variable_scope("Model", reuse=None, initializer=initializer):
model = network.Model(iterator, is_training=True)
我的问题是,哪些变量受我在variable_scope中传递的初始化程序的影响?嵌入矩阵肯定会受到影响,因为我使用tf.get_variable
创建了None
作为初始化程序传递的矩阵。但是tf.layers.Conv2D
呢?如果我保留默认的kernel_initializer=None
,是否要使用在变量范围内使用的默认初始化程序?
我正在使用TF 1.7
答案 0 :(得分:0)
简短的回答是否定的。您可以使用
进行检查initializer = tf.random_uniform_initializer(-0.1, 0.1)
with tf.variable_scope("Model", reuse=None, initializer=initializer):
model = tf.layers.Conv2D(filters=3, kernel_size=1)
print(model.get_config())
如果您想一次为多个图层设置一些参数,则可以使用arg_scope,尽管它很快就会被弃用的contrib模块