首页 > 解决方案 > 使用 Keras API,我如何分批导入给定批次中每个 ID 恰好有 K 个实例的图像?

问题描述

我正在尝试实现批量硬三元组损失,如https://arxiv.org/pdf/2004.06271.pdf的第 3.2 节所示。

我需要导入我的图像,以便每个批次在特定批次中都有每个 ID 的 K 个实例。因此,每个批次必须是 K 的倍数

我的图像目录太大而无法放入内存,因此我正在使用ImageDataGenerator.flow_from_directory()它来导入图像,但我看不到此函数的任何参数以允许我需要的功能。

如何使用 Keras 实现这种批处理行为?

标签: tensorflowkerasdeep-learningfile-import

解决方案


从 Tensorflow 2.4 开始,我看不到使用ImageDataGenerator.

所以我认为你需要根据tensorflow.keras.utils.Sequence类编写自己的,所以你可以自己定义批处理内容。

参考资料:
https ://www.tensorflow.org/api_docs/python/tf/keras/utils/Sequence
https://stanford.edu/~shervine/blog/keras-how-to-generate-data-on-the-飞


推荐阅读