2016-09-17 3 views
1

Теперь у меня есть немного кода, как показано ниже:tensorflow заполнитель в функции

import tensorflow as tf 

x = tf.placeholder(tf.float32, [1, 3]) 
y = x * 2 

with tf.Session() as sess: 
    result = sess.run(y, feed_dict={x: [2, 4, 6]}) 
    print(result) 

Я хочу кормить значения функции.

Ниже очевидна ошибка. Как я могу это сделать?

import tensorflow as tf 

def place_func(): 
    x = tf.placeholder(tf.float32, [1, 3]) 
    y = x * 2 

with tf.Session() as sess: 
    result = sess.run(y, feed_dict={x: [2, 4, 6]}) 
    print(result) 

ответ

2

Одним из вариантов является запуск сеанса внутри функции только следующим образом:

import tensorflow as tf 

def my_func(data): 
    x = tf.placeholder(tf.float32, [1, 3]) 
    y = x * 2 
    return sess.run(y, feed_dict = {x: data}) 

with tf.Session() as sess: 
    result = my_func([[2, 4, 6]]) 
    print(result) 

Вы также можете создать класс, и пусть х, чтобы быть полем класса.

+0

Спасибо, что помогли мне. –

+0

Почему «данные» подаются в заполнитель и не используются непосредственно при вычислении «y»? Разве мы не можем сказать y = данные * 2? Я заметил использование заполнителей для входных данных функций tensorflow. Но я не знаю, в чем причина этого. – mhaghighat

Смежные вопросы