My 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)
私はtf.placeholder
に渡す正しいshape
パラメータを把握することはできません。私はinit = tf.placeholder(tf.float32, shape=0, name="init")
を行う必要があり、スカラーのために思うだろうが、これは次のエラーを与える:
ValueError: Incompatible shapes for broadcasting: (100, 300) and (0,)
私はそれが動作tf.random_uniform
への呼び出しでリテラル値0.5
でinit
を交換する場合。
このスカラー初期値をフィード辞書から渡すにはどうすればよいですか?
あなたとEugene Brevdoがこれらの質問にあなたのフルタイムの仕事に答えることができますか? :-) –
7週間のうち1週間、それは私のフルタイムの仕事です - 私は楽しむためにそれを行う他の週! :-) – mrry
@mrryこの質問をご覧ください。http://stackoverflow.com/questions/41930725/tensorflow-pass-an-integer-to-graphありがとうございました! – void