Keras输出Tensor具体值
在Tensorflow中,如果直接打印Tensor的值,一般只会输出其格式,例如**tf.Tensor()**但是有些时候就需要在程序中,将具体的内容输出;
(1)对于Tensorflow 1.0我们使用tf.Session.run(Tensor)进行输出
with tf.Session() as sess:
print sess.run(c)
但是对于Keras而言,session是删除了的,因此我们需要特殊的方法
(2)在Keras中,我们可以使用 tensorflow.keras.backend ,来获取Tensor的内容,但是可能会出现以下的错误,
import tensorflow.keras.backend as K
print(K.get_value(train_labels))
## “'KerasTensor' object has no attribute 'numpy'”
因此我们需要允许即刻地运行函数,这样我们才能获取由Tensor转为Numpy的具体值。在代码中加入此行代码。
tf.config.run_functions_eagerly(True)
或者额外增加参数,model.complie(run_reagerly = True)
此时,下面两种方法均可输出内容。
print(K.get_value(train_labels))
print(train_labels)
# [0 1 2 3 4]