【问题标题】:Tensorflow : Assign variable by nameTensorflow:按名称分配变量
【发布时间】:2016-06-08 18:33:09
【问题描述】:

我想分配/修改我的变量的值,我希望通过他们的名字来调用它们。

例如:

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

'matrix1:0'

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

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

【问题讨论】:

  • vars={v.name:v for v in tf.trainable_variables()}怎么样
  • 现在,你如何通过变量名来给变量赋值?
  • 然后你可以做vars['matrix1:0'].assign_add(tf.constant(1))
  • 太好了,效果很好!谢谢你。介意添加回复,以便我将您的评论标记为答案吗?

标签: variables scope tensorflow assign


【解决方案1】:

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

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

然后你修改变量为

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-28
    • 1970-01-01
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-05
    相关资源
    最近更新 更多