Tensorflow:按名称分配变量

Tensorflow : Assign variable by name

我想 assign/modify 我的变量的值,我希望通过调用它们的名字来实现。

例如:

vars = tf.trainable_variables()
print(vars[1].name)

'matrix1:0'

upt = vars['matrix1:0'].assign_add(tf.constant(1))
sess.run(upt)

原因是变量索引不可靠,因为它们依赖于它们在代码中的时间 运行。通过添加一个新变量,所有索引都需要移动,这很不方便。使用名字会让我的生活更轻松。

您可以使用 Python 生成器表达式来构建这样的字典

vars={v.name:v for v in tf.trainable_variables()}

然后你修改变量为

vars['matrix1:0'].assign_add(tf.constant(1))