是否可以获取使用 flow_from_directory
加载的文件名?我有 :
datagen = ImageDataGenerator(
rotation_range=3,
# featurewise_std_normalization=True,
fill_mode='nearest',
width_shift_range=0.2,
height_shift_range=0.2,
horizontal_flip=True
)
train_generator = datagen.flow_from_directory(
path+'/train',
target_size=(224, 224),
batch_size=batch_size,)
我的多输出模型有一个自定义生成器,例如:
a = np.arange(8).reshape(2, 4)
# print(a)
print(train_generator.filenames)
def generate():
while 1:
x,y = train_generator.next()
yield [x] ,[a,y]
节点,目前我正在为 a
生成随机数,但对于真正的训练,我希望加载一个 json
文件,其中包含我的图像的边界框坐标。为此,我需要获取使用 train_generator.next()
方法生成的文件名。之后,我可以加载文件,解析 json
并传递它而不是 a
。 x
变量的顺序和我得到的文件名列表也必须相同。
原文由 harveyslash 发布,翻译遵循 CC BY-SA 4.0 许可协议
是的,至少对于 2.0.4 版(不知道早期版本)是可能的。
--- 的实例具有
ImageDataGenerator().flow_from_directory(...)
filenames
属性,它是按生成器生成它们的顺序排列的所有文件的列表,还有一个属性batch_index
所以你可以这样做:生成器上的每次迭代都可以获得相应的文件名,如下所示:
这将为您提供当前批次中图像的文件名。