Как напечатать значение Tensor, Keras / Tensorflow - PullRequest
0 голосов
/ 10 октября 2018

Я пытаюсь понять некоторый код из алгоритма обучения подкрепления.Для этого я пытаюсь напечатать значение тензора.

Я сделал простой кусок кода, чтобы показать, что я имею в виду.

import tensorflow as tf
from keras import backend as K

x = K.abs(-2.0)
tf.Print(x,[x], 'x')

Цель состоит в том, чтобынапечатано значение «2» (абсолютное значение -2).Но я получаю только следующее:

Using TensorFlow backend.

Process finished with exit code 0

Ничего, как я могу вывести значение '2' так же, как это сделал бы оператор print ('...')?

1 Ответ

0 голосов
/ 10 октября 2018

Если вы используете Jupyter Notebook, то tf.Print() пока не совместим и будет выводить вывод на серверный ноутбук, как описано в документах

.В документации по тензорному потоку вот как описываются Tensors:

При написании программы TensorFlow основным объектом, которым вы манипулируете и обмениваетесь, является tf.Tensor. Объект tf.Tensor представляет собой частично определенное вычисление, которое в конечном итоге даст значение.

Следовательно, вам придется инициализировать их с помощью tf.Session(), чтобы получить их значение.Чтобы напечатать значение, вы eval()

Вот код, который вы хотите:

import tensorflow as tf
from keras import backend as K

x= K.abs(-2.0)
with tf.Session() as sess:
    init = tf.global_variables_initializer()
    sess.run(init)
    print(x.eval())

Инициализатор важен для фактической инициализации x.

...