如何将张量转换为相同尺寸的Numpy数组?

时间:2019-05-28 10:21:55

标签: python tensorflow numpy-ndarray

我正在尝试将形状(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数组?

1 个答案:

答案 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'>