使用ImageDataGenerator增强Keras数据(您的输入用完了数据)

开尔文

我目前正在学习FrançoisChollet撰写的“使用Keras进行深度学习”中的Keras ImageDataGenerator执行数据增强。

我现在在训练数据集中有1000张(狗)和1000张(猫)图像。

我在验证数据集中也有500张(狗)和500张(猫)图像。

本书将生成器中的训练和验证数据的批次大小定义为32,以使用“ step_per_epoch”和“ epoch”两者进行数据扩充以拟合模型。

但是,当我训练模型时,我收到了Tensorflow警告,“您的输入数据已用完...”并停止了训练过程。

我在网上搜索过,很多解决方案都提到step_per_epoch应该是steps_per_epoch = len(train_dataset) // batch_sizesteps_per_epoch = len(validation_dataset) // batch_size

我了解上述逻辑,培训中没有警告。

但是我想知道,最初我有2000个训练样本。这太少了,因此我需要执行数据增强以增加训练图像的数量。如果steps_per_epoch = len(train_dataset) // batch_size应用,则由于len(train_dataset)仅是2000。不是不是我仍在使用2000个样本来训练模型,而不是向模型添加更多的增强图像?

train_datagen = ImageDataGenerator(
rescale=1./255,
rotation_range=40,
width_shift_range=0.2,
height_shift_range=0.2,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True,)

test_datagen = ImageDataGenerator(rescale=1./255)

train_generator = train_datagen.flow_from_directory(
train_dir,
target_size=(150, 150),
batch_size=32,
class_mode='binary')

validation_generator = test_datagen.flow_from_directory(
validation_dir,
target_size=(150, 150),
batch_size=32,
class_mode='binary')

history = model.fit_generator(
train_generator,
steps_per_epoch=100,
epochs=100,
validation_data=validation_generator,
validation_steps=50)
Frightera

imagedatagenerator不会增加训练集的大小这一事实所有扩充都在内存中完成。因此,将原始图像随机扩充,然后返回其扩充版本。如果要查看增强图像,则需要为flow_from_directory函数设置以下参数

save_to_dir=path,
save_prefix="",
save_format="png",

现在您有2000张图像,批处理大小为32,则每个时代将有2000 // 32 = 62步,但是您尝试的100步是导致错误的原因。如果要使用所有数据点,则应设置:

steps_per_epoch = len(train_dataset) // batch_size

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Tensorflow输入生成器用完了数据

来自分类Dev

使用TensorFlow-Keras API进行数据增强

来自分类Dev

keras ImageDataGenerator没有数据扩充?

来自分类Dev

数据增强图像数据生成器Keras语义分割

来自分类Dev

数据增强图像数据生成器Keras语义分割

来自分类Dev

如何获取使用ImageDataGenerator为双输入CNN模型构建的数据集的标签?

来自分类Dev

“警告:tensorflow:您的输入数据用尽”训练Keras模型时出现错误

来自分类Dev

未从改组的数据集中选择Keras ImageDataGenerator验证拆分

来自分类Dev

Keras 如何读取输入数据?

来自分类Dev

投射ImageDataGenerator数据输出

来自分类Dev

验证中的数据增强

来自分类Dev

Pandas / Keras:使用DataFrame中的数据训练Keras模型,输入形状错误

来自分类Dev

输入数据到 LSTM 网络 Keras

来自分类Dev

使用解析云代码来增强数据完整性

来自分类Dev

在GAE中使用Maven增强数据核,构建失败

来自分类Dev

使用增强的for循环从两个ArrayList检索数据

来自分类Dev

仅使用 tensorflow 进行训练中的数据增强

来自分类Dev

python-财务-EOF错误-用完了输入

来自分类Dev

在 Keras 中使用“ImageDataGenerator”并在训练我的模型时直接传递它时,是否修改了图像以扩充数据集?

来自分类Dev

如何避免在Keras ImageDataGenerator的验证拆分中增加数据?

来自分类Dev

暗网和数据增强

来自分类Dev

交叉验证中的数据增强

来自分类Dev

Xamarin Forms - 如何根据您输入的数据填充 ListView?

来自分类Dev

仅适用于特定文件夹的图像数据生成器增强参数 (Keras)

来自分类Dev

我们可以用 Keras 进行视频数据增强吗?

来自分类Dev

您如何使用PDO提取数据?

来自分类Dev

验证使用Tkinter输入的数据

来自分类Dev

Keras ImageDataGenerator用于多个输入和基于图像的目标输出

来自分类Dev

Keras - 无法将我的输入数据释放到 keras 模型。检查输入时出错

Related 相关文章

  1. 1

    Tensorflow输入生成器用完了数据

  2. 2

    使用TensorFlow-Keras API进行数据增强

  3. 3

    keras ImageDataGenerator没有数据扩充?

  4. 4

    数据增强图像数据生成器Keras语义分割

  5. 5

    数据增强图像数据生成器Keras语义分割

  6. 6

    如何获取使用ImageDataGenerator为双输入CNN模型构建的数据集的标签?

  7. 7

    “警告:tensorflow:您的输入数据用尽”训练Keras模型时出现错误

  8. 8

    未从改组的数据集中选择Keras ImageDataGenerator验证拆分

  9. 9

    Keras 如何读取输入数据?

  10. 10

    投射ImageDataGenerator数据输出

  11. 11

    验证中的数据增强

  12. 12

    Pandas / Keras:使用DataFrame中的数据训练Keras模型,输入形状错误

  13. 13

    输入数据到 LSTM 网络 Keras

  14. 14

    使用解析云代码来增强数据完整性

  15. 15

    在GAE中使用Maven增强数据核,构建失败

  16. 16

    使用增强的for循环从两个ArrayList检索数据

  17. 17

    仅使用 tensorflow 进行训练中的数据增强

  18. 18

    python-财务-EOF错误-用完了输入

  19. 19

    在 Keras 中使用“ImageDataGenerator”并在训练我的模型时直接传递它时,是否修改了图像以扩充数据集?

  20. 20

    如何避免在Keras ImageDataGenerator的验证拆分中增加数据?

  21. 21

    暗网和数据增强

  22. 22

    交叉验证中的数据增强

  23. 23

    Xamarin Forms - 如何根据您输入的数据填充 ListView?

  24. 24

    仅适用于特定文件夹的图像数据生成器增强参数 (Keras)

  25. 25

    我们可以用 Keras 进行视频数据增强吗?

  26. 26

    您如何使用PDO提取数据?

  27. 27

    验证使用Tkinter输入的数据

  28. 28

    Keras ImageDataGenerator用于多个输入和基于图像的目标输出

  29. 29

    Keras - 无法将我的输入数据释放到 keras 模型。检查输入时出错

热门标签

归档