小编Gri*_*kis的帖子

从CSV加载图像和注释,并将fit_generator与多输出模型一起使用

问题#10120之后,我正在使用Keras功能API构建具有多个(五个)输出和相同输入的模型,以便同时预测数据的不同属性(在我的情况下为图像)。数据集的所有元数据都存储在不同的CSV文件中(一个用于训练,一个用于验证,一个用于测试数据)。

aaa.png

我已经编写了解析CSV的代码,并将所有不同的注释保存到不同的numpy数组(x_train.npy,emotions.npy等)中,稍后我将加载它们以训练CNN。


我要提出的问题如下:

首先,保存已解析的注释以便随后加载它们的最有效方法是什么?

从CSV文件即时读取注释,而不是将其保存为numpy(或任何其他格式),是否更好?

当我加载保存的numpy数组时(以下示例仅包含图像和单个元数据)

 (x_train, y_train),(x_val, y_val)
Run Code Online (Sandbox Code Playgroud)

那我做

train_generator = datagen.flow(x_train, y_train, batch_size=32)
Run Code Online (Sandbox Code Playgroud)

最后,

history = model.fit_generator(train_generator,
                        epochs=nb_of_epochs,
                        steps_per_epoch= steps_per_epoch,
                        validation_data=val_generator,
                        validation_steps=validation_steps,
                        callbacks=callbacks_list)
Run Code Online (Sandbox Code Playgroud)

我的程序似乎在整个训练过程中消耗了多达20-25GB的RAM(在GPU上完成)。万一我添加了多个输出,我的程序由于内存泄漏而崩溃(我拥有的最大RAM为32GB)。

将已解析的注释与原始图像一起加载的正确方法是什么?

假设上述问题已解决,将ImageDataGenerator用于多个输出的正确方法如下所示(也在此处讨论)

Keras:如何将fit_generator与不同类型的多个输出一起使用

Xi[0], [Yi1[1], Yi2[1],Yi3[1], Yi4[1],Yi5[1]]
Run Code Online (Sandbox Code Playgroud)

python keras

5
推荐指数
1
解决办法
1618
查看次数

标签 统计

keras ×1

python ×1