【发布时间】:2017-01-26 19:10:08
【问题描述】:
下午好。 我继续研究tensorflow,现在卡在重用变量“W”的问题上 这是代码 sn-p:http://pastebin.com/VZETt2ud
我想避免硬编码并从恢复的模型中获取值(而不是 10 - get_value() 等)。 我在这里阅读了几个线程,但在任何地方都只需要整个变量。但是,我不明白如何正确获取,例如,从这里获取 784 号:
W = tf.Variable(tf.zeros([784, 10]), name = "W")
我试过了:
idx = tf.constant([0])
temp_var = tf.get_variable("W")
size_1 = tf.gather(temp_var, idx)
这种方法给了我这个错误: “必须完全定义新变量 (W) 的形状,但它是未知的。”
(再一次,我避免硬编码,不能写像[数字,数字]这样的形状)
我更改了变量的范围,认为它与范围有关,添加以下行:
with tf.variable_scope("my"):
和
with tf.variable_scope("my"):
tf.get_variable_scope().reuse_variables()
但是犯了这个错误: “ValueError:变量 my/W 不存在,或者不是使用 tf.get_variable() 创建的。您的意思是在 VarScope 中设置重用=None 吗?” 设置reuse=None后,我还是有同样的问题。
你会这么好心并建议我如何在这段代码中按索引获取值吗?
【问题讨论】:
标签: python tensorflow neural-network data-science