Прямо сейчас вы создаете новую переменную и заполнитель каждый раз, когда вызываете функцию, поэтому во второй раз, когда вы вызываете функцию try_variable
, у вас фактически есть 2 заполнителя и 2 переменные TensorFlow! x
, x_1
, v
, v_1
.
Итак, во второй раз, когда вы запускаете операцию init, вы предоставляете начальное значение только для заполнителя x_1
, который теперь связан с переменной python x
.
Если вы хотите напечатать название всех тензоров на текущем графике, вы можете позвонить
print [n.name for n in tf.get_default_graph().as_graph_def().node]
Если вы все еще хотите создавать 2 новых тензора при каждом вызове функции, один из вариантов - сбросить график по умолчанию с помощью команды tf.reset_default_graph()
каждый раз, когда вызывается функция - крайне не рекомендуется.