Keras:在将ImageDataGenerator与flow_from_dataframe / flow_from_directory结合使用时,如何禁用图像大小调整?

时间:2019-02-27 21:39:41

标签: python tensorflow keras

我正在尝试通过使用ImageDataGenerator并将自定义函数传递给preprocessing_function参数对我的图像进行一些裁剪操作。但是,根据Keras文档,此功能仅在调整图像大小后才能运行:

  

preprocessing_function :每个输入将隐含的函数。   该功能将在调整图像大小和扩大后运行。

现在,我想禁用调整大小,但是,如果未提供任何值,则target_size参数默认为(256,256)。再次来自文档:

  

target_size :整数元组(高度,宽度),默认值:(256,256)。   找到的所有图像的尺寸将被调整为大小。

我一直试图将target_size参数设置为None,但这会导致错误:

TypeError: 'NoneType' object cannot be interpreted as an integer

在我的情况下,裁剪已经调整大小的图像会产生错误的结果。因此,我正在寻找一种方法,以防止调整大小完全发生或仅在应用自定义预处理功能后才发生。无需编写整个自定义数据生成器就可以实现吗?

1 个答案:

答案 0 :(得分:0)

使用ImageDataGenerator的当前实现是不可能的。在loading image期间进行图像调整大小,而在later的几个步骤standardize中调用预处理功能。

在加载过程中不调整大小也不是一种选择,因为迭代器pre-allocates批处理数组并需要知道其形状。