【问题标题】:reshaping image feed to tensorflow将图像馈送重塑为张量流
【发布时间】:2017-11-21 23:25:15
【问题描述】:

我在图像分类问题中使用 tensorflow,但我在与重塑输入相关的部分感到迷失,在这种情况下是图像

我使用 misc 拍摄图像并调整其大小

image = misc.imread("actor.jpg")
resize_image = misc.imresize(image,[224, 224], interp='nearest') 

图像形状是

(224, 224, 3)

我收到与图像不兼容有关的错误

ValueError: Cannot feed value of shape (224, 224, 3) for Tensor u'input_image_2:0', which has shape '(?, 224, 224, 3)'

是什么意思?以及如何正确调整大小

提前感谢

【问题讨论】:

    标签: python numpy tensorflow


    【解决方案1】:

    许多图像函数需要包含多个图像的批次。第一个维度标识批次中图像的索引。如果您只有一张图像要处理,您可以使用以下代码对其进行整形:

    resize_image = tf.reshape(image, [-1, 224, 224, 3])
    

    【讨论】:

    • 谢谢我在那之后得到了正确的形状,但我有另一个错误 TypeError: The value of a feed cannot be a tf.Tensor object。可接受的提要值包括 Python 标量、字符串、列表、numpy ndarray 或 TensorHandles。
    • 这是一个很好的观点。您可能应该将图像数据保留为 ndarray 而不是张量,并使用 np.reshape 而不是 tf.reshape。所以你会使用resize_image = image.reshape([-1, 224, 224, 3])
    猜你喜欢
    • 1970-01-01
    • 2018-10-31
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 2016-10-08
    • 1970-01-01
    相关资源
    最近更新 更多