我想分配/修改变量的值,我希望通过他们的名字来调用它们。
例如:
vars = tf.trainable_variables()
print(vars[1].name)
'矩阵1:0'
upt = vars['matrix1:0'].assign_add(tf.constant(1))
sess.run(upt)
这样做的原因是变量的索引不可靠,因为它们依赖于在代码中运行它们的时间。通过添加一个新变量,需要移动所有索引,这是不方便的。使用名字会让我的生活更轻松。
答案 0 :(得分:3)
您可以使用Python生成器表达式来构建像这样的字典
vars={v.name:v for v in tf.trainable_variables()}
然后将变量修改为
vars['matrix1:0'].assign_add(tf.constant(1))