Tensorflow:Py_func返回未知形状

时间:2016-08-17 09:11:13

标签: python numpy tensorflow

我对tf.py_func函数有一个简单的问题。

我有一个形状my_img的图像张量(1,224,224,3)。为了测试py_func,我将张量提供给python函数return_tf,该函数应该返回相同的张量(根据文档转换为numpy数组之后)。

以下是代码:

def return_tf(x):
   return np.array(x)

test = tf.py_func(return_tf,[my_img],[tf.float32])

但是当我检查返回张量的形状test时,我得到了:

tf.Tensor 'PyFunc:0' shape=unknown dtype=float32

我也无法在张量上运行eval(),因为我收到错误:

AttributeError: 'list' object has no attribute 'eval'.

任何人都知道如何修复由tf.py_func返回的张量的张量形状?

1 个答案:

答案 0 :(得分:5)

刚刚找到一个解决方法..因为py_func返回张量流列表,我可以做ff:

test = tf.reshape(tf.concat(1, test), [ <<a shape>> ])

获得具有所需形状的张量