我的TensorFlow模型使用tf.random_uniform
来初始化变量。我想在开始训练时指定范围,所以我为初始化值创建了一个占位符。如何通过TensorFlow饲料字典传递标量
init = tf.placeholder(tf.float32, name="init")
v = tf.Variable(tf.random_uniform((100, 300), -init, init), dtype=tf.float32)
initialize = tf.initialize_all_variables()
我在训练开始初始化变量像这样。
session.run(initialize, feed_dict={init: 0.5})
这给了我下面的错误:
ValueError: initial_value must have a shape specified: Tensor("Embedding/random_uniform:0", dtype=float32)
我想不出正确shape
参数传递给tf.placeholder
。我觉得对于一个标我应该做的init = tf.placeholder(tf.float32, shape=0, name="init")
但这提供了以下错误:
ValueError: Incompatible shapes for broadcasting: (100, 300) and (0,)
如果我与呼叫字面值0.5
到tf.random_uniform
它的工作原理更换init
。
如何通过Feed字典传递此标量初始值?
您和Eugene Brevdo能否回答这些问题您的全职工作? :-) –
七个星期中的一个星期,这是我的全职工作 - 其他几个星期我都乐在其中! :-) – mrry
@ mrry你可以请看看这个问题http://stackoverflow.com/questions/41930725/tensorflow-pass-an-integer-to-graph。谢谢! – void