0

如果我理解variable_scope正确,那么下面的代码应该会引发错误:

with tf.variable_scope('f', reuse=True):
    slim.conv2d(x, 128, 7)

因为reuse设置为True. 但是,事实并非如此。我也试过:

with tf.variable_scope('f', reuse=True):
    slim.conv2d(x, 128, 7, scope='Conv', reuse=True)

只是为了确定,它也没有抛出错误。

最后,我预计以下代码会引发错误,因为reuse设置为False

for i in range(2):
    with tf.variable_scope('f', reuse=False):
        slim.conv2d(x, 128, 7, reuse=False)
print map(lambda v: v.name, tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES))

但是,它也没有抛出错误,它只创建了一组权重和偏差。

我是否误解了 的预期行为reuse

4

0 回答 0