python - 每个时期应用不同的数据增强
问题描述
我刚刚阅读了一篇论文,该论文在每个时期应用特定数据转换时会引起准确性的提高。由于它的参数是随机生成的,因此想法是在每个 epoch 中,转换都会以某种方式略有不同。
更准确地说,我有一个对图像进行二元分类的 CNN。我的数据转换函数创建了一个掩码,使某些图像中的一些随机像素无效。目标是让算法通过强迫自己查看图像的不同部分来学习。
datagen = ImageDataGenerator(rotation_range=0.3,
horizontal_flip=True,
fill_mode='nearest',
rescale = 1./255,
preprocessing_function=random_mask)
我希望这个掩码在每个时期都不同,这样在每次新的迭代中,我的算法都会从我的批次中学习不同版本的图像。
当我运行我的 CNN 时,我调用以下命令:
history = model.fit(X_train, y_train, batch_size=32, epochs=epochs, steps_per_epoch=len(X_train)/batch_size,
callbacks=[reduce_lr, model_chkpoint], validation_data=(X_test, y_test), class_weight=classWeight)
其中 X_train 和 y_train 只是两个包含图像像素及其相应标签的 numpy 数组。
解决方案
推荐阅读
- flutter - Flutter 无法在 TextFields 中输入 UTF-8 值
- python - 从字符串列表中创建仅包含数值的列表
- javascript - Thymeleaf 表达式不起作用动态添加了来自 javascript 的 html
- javascript - 对象如何对添加到它的数字键进行排序
- python - 在 DataFrames 中拆分分号值
- java - 在 Java/Kotlin 中从字节数组创建 Key 对象
- function - 谁能告诉我如何在没有按钮的情况下使用该功能。功能应自动触发
- instance - Openstack 实例存储仓库
- powerbi - 如果满足条件,则获取两个日期之间的值
- reactjs - this.props.history.push 在不同的组件中给我未定义的错误