Mój model TensorFlow używa tf.random_uniform
do zainicjowania zmiennej. Chciałbym określić zakres kiedy zaczynam trening, więc stworzyłem symbol zastępczy dla wartości inicjalizacyjnej.Jak przekazać skalar za pośrednictwem słownika kanału 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()
Inicjuję zmienne na początku szkolenia w taki sposób.
session.run(initialize, feed_dict={init: 0.5})
To daje mi następujący błąd:
ValueError: initial_value must have a shape specified: Tensor("Embedding/random_uniform:0", dtype=float32)
nie mogę dowiedzieć się prawidłową shape
parametr przekazywany do tf.placeholder
. Myślę dla skalara zrobić init = tf.placeholder(tf.float32, shape=0, name="init")
ale to daje następujący błąd:
ValueError: Incompatible shapes for broadcasting: (100, 300) and (0,)
Gdybym zastąpić init
o wartości dosłownym 0.5
w wywołaniu tf.random_uniform
to działa.
Jak przekazać tę wartość początkową skalarną za pomocą słownika kanału?
Czy ty i Eugene Brevdo możecie odpowiedzieć na te pytania na swoje etaty? :-) –
Jeden tydzień z siedmiu, to moja praca na pełen etat - w pozostałe tygodnie robię to dla zabawy! :-) – mrry
@mrry Czy możesz rzucić okiem na to pytanie http://stackoverflow.com/questions/41930725/tensorflow-pass-an-integer-to-graph. Dziękuję Ci! – void