Как накормить местный заполнитель? - PullRequest
0 голосов
/ 24 июня 2018

Я хотел бы передать заполнитель, определенный в функции. Ниже приведен упрощенный пример.

#!/usr/bin/python

import tensorflow as tf

def CreateInference():
    x2 = tf.placeholder(tf.float32, (None))
    w2 = tf.get_variable('w2', initializer=1.0)
    b2 = tf.get_variable('b2', initializer=2.0)
    y2 = w2 * x2 + b2

y2 = CreateInference()

writer = tf.summary.FileWriter('./graphs', tf.get_default_graph())
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
#    print (sess.run(y2, feed_dict={x2:2.0}))

writer.close()

График создан правильно, как показано на следующем графике Tensorboard.

enter image description here

Проблема в том, что feed_dict={x2:2.0} не работает, поскольку x2 является локальной переменной, используемой в функции CreateInference. Может кто-нибудь сказать мне, как получить доступ и передать значения для переменной x2 в приведенном выше примере?

1 Ответ

0 голосов
/ 24 июня 2018

Почему бы не сделать очевидные и возвратные ссылки на объекты

#!/usr/bin/python

import tensorflow as tf

def CreateInference():
    x2 = tf.placeholder(tf.float32, (None))
    w2 = tf.get_variable('w2', initializer=1.0)
    b2 = tf.get_variable('b2', initializer=2.0)
    y2 = w2 * x2 + b2
    return x2, y2

x2, y2 = CreateInference()

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print (sess.run(y2, feed_dict={x2:2.0}))
...