【发布时间】:2021-05-20 05:16:26
【问题描述】:
我使用 Keras 和 Tensorflow,认为 Input(shape=(1280,224,1) 将接受 Grayscale 图像的 Width=1280 和 Height=224 这就是我在ResNet 中使用的所有预训练模型,或者使用ImagedataGeneratorflow_from_directory(target_size=(1280,224))。
它在ResNet50 github Code 中以 width 和 height 的形式给出:
input_shape:可选的形状元组,只需要指定 如果
include_top为 False(否则输入形状 必须是(224, 224, 3)(使用channels_last数据格式) 或(3, 224, 224)(使用channels_first数据格式)。 它应该正好有 3 个输入通道, 宽高不小于32。
但突然间我难倒tf.image.resize 论点的给出为:
size:2 个元素的一维 int32 张量:new_height, new_width。图片的新尺寸
要么我的整体错了,要么这里的功能不同。请帮忙。
【问题讨论】:
-
无论用例如何,如果您的输入首先具有上述宽度,则它始终应与您提供的输入矩阵的形状相匹配,如果您的输入首先具有高度,则首先提供高度。这完全取决于您输入的输入矩阵的形状
-
实际上没有。我刚刚浏览了代码。
Conv2d接受height,width,channels,.flow_from_directory()也是如此。它使用numpy方案,首先放置高度,然后放置宽度。 -
是的,这就是我所说的它应该匹配输入形状,输入形状由
rows x columns定义,当您将图像加载到数组中时,形状由rows x columns定义,我们可以说行数是高度,列数是宽度。 -
当您翻转图像时,您会将高度称为宽度,还是将其称为 new_height 由您决定,我只是想传达矩阵的形状将始终由
rows x columns定义。希望清除它 -
哦,好的!知道了。实际上,我对
resize感到困惑。ImageDataGenerator和PIL使用不同的方案,那时我才意识到出了点问题。
标签: python tensorflow image-processing keras computer-vision