2016-08-17 37 views
3

我有一个简单的问题tf.py_func函数。Tensorflow:Py_func返回未知形状

我有形状(1,224,224,3)的图像张量my_img。为了测试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'. 

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

回答

4

刚刚发现一个解决..因为py_func返回tensorflow名单,我可以做FF:

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

得到张量所需的形状

相关问题