【问题标题】:Tensorflow: Py_func returns unknown shapeTensorflow:Py_func 返回未知形状
【发布时间】:2016-12-23 20:44:37
【问题描述】:

我有一个关于tf.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'.

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

【问题讨论】:

    标签: python numpy tensorflow


    【解决方案1】:

    刚刚找到一个解决方法.. 由于 py_func 返回一个 tensorflow 列表,我可以做 ff:

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

    获得具有所需形状的张量

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-03
      • 1970-01-01
      • 2020-10-24
      • 2022-11-11
      相关资源
      最近更新 更多