我正在尝试将形状(253,223)的图像的张量转换为相同大小的numpy数组,以便可以绘制图像。我查看了文档,他们建议我将eval函数用作
sess = tf.Session()
with sess.as_default():
print(type(tf.constant([img1]).eval()))
但是它抛出错误“当期望单个张量时,张量列表”。
这里的类型(img1)为
<class 'tensorflow.python.framework.ops.Tensor'>
,形状为(253,223)。使用keras
tf.keras.backend.eval(x)
它抛出
InvalidArgumentError:DecodeRaw的输入长度为56419,不是4的倍数,即float [[{{node DecodeRaw}}]]错误的大小。
如何将给定张量转换为相同维数的numpy数组?
答案 0 :(得分:1)
Session.run或eval返回的任何张量都是NumPy数组。
>>> print(type(tf.Session().run(tf.constant([1,2,3]))))
或者:
>>> sess = tf.InteractiveSession()
print(type(tf.constant([1,2,3]).eval()))
<class 'numpy.ndarray'>