我有一个包含多个变量的多个作用域的网络。我需要一种方法来设置特定变量或名称范围的训练能力,以便它们不被更新并且不包含在梯度计算中,然后在某些条件后将其设置为可训练。它甚至有可能吗?如果是,如何?动态设置张量流量的训练能力变量
with tf.name_scope('layer1'):
w = tf.Variable(...)
b = tf.Variable(...)
... some function ...
with tf.name_scope('layer2'):
w = tf.Variable(...)
b = tf.Variable(...)
... some function ...
with tf.name_scope('layer3'):
w = tf.Variable(...)
b = tf.Variable(...)
... some function ...
我想改变的变量列车能力第一范围,因为它们正在从一个预先训练文件恢复,他们已经得知。所以,我想训练其他层中的变量,直到他们被学习,然后将第一个范围中的变量的训练能力设置回True,并将它们一起训练。你可以使用
纯文本问题很少被接受。请显示您在代码中所做的事情。 –
你可以传递一个'variable_list'给minimizer来决定更新哪个变量。 – soloice