我有一个基于迁移学习的两个输出分类问题。因此,我已将数据格式化X_train为(number of samples, height, width, channels)numpy 数组、y_train1numpy(number of samples,)数组和y_train2numpy(number of samples,)数组。
由于我没有使用目录结构进行培训,因此我使用的是ImageDataGenerator.flow(). 但是,我无法弄清楚如何传递两个标签数组,因为(2, number of samples)当我将标签作为[y_train1, y_train2]列表发送时,它会使用标签。
我能够在没有 Keras 数据增强的情况下训练网络(对于两个输出)。但是,我无法应用数据增强。
我正在尝试执行以下操作:
datagen = ImageDataGenerator(horizontal_flip=True, vertical_flip=True, rescale=1./255, class_mode="multi-label")
model.fit(datagen.flow(X_train, [y_train1, y_train2], batch_size=batch_size), batch_size=batch_size, epochs=nb_epochs, steps_per_epoch=spe, validation_data=(X_val, [y_val1, y_val2]))
此外,ImageDataGenerator.flow没有class_mode不同ImageDataGenerator.flow_from_dataframe的 .
任何建议/帮助将不胜感激!
参考:
- 数据增强多输出(没有答案。我刚刚赞成)
- 从 Keras 获取多个输出(不解释数据增强)