tensorflow - TensorFlow 上的高级测试和训练时间数据增强
问题描述
据我所知, tf 不包括像在火炬中那样的数据增强,例如torchvision.transforms.FiveCrop
和torchvision.transforms.TenCrop
. 什么是实施并将其连接到训练和测试过程的有效方法。
解决方案
Thera 有多种方法可以在 tensorflow 中实现数据增强:
在训练期间,对象检测 API 会自动为您执行此操作: https ://github.com/tensorflow/models/blob/master/research/object_detection/protos/preprocessor.proto
tf.keras ImageDataGenerator
允许您在训练期间应用数据增强。更具体地,允许您控制等。您可以在此处brightness, rotation, shearing, shifting, zooming, rescaling
查看有关ImageDataGenerator的更多信息: https ://keras.io/api/preprocessing/image/我喜欢做的另一件事是创建一个函数来实现我自己的数据增强技术。然后,将其传递给
preprocessing_function
ImageDataGenerator。这样,您可以添加任何您能想到的数据增强。例如,ImageDataGenerator
调整图像对比度的运气。在这种情况下,您可以自己实现它。我找到了这个存储库,它展示了如何在OpenCV 和 Numpy中实现大量增强: https ://github.com/kochlisGit/random-data-augmentations
推荐阅读
- r - rmarkdown 中的代码折叠:无法让 div 包装器工作
- python-3.x - Django Model类动态字段创建
- javascript - 试图阻止点击 SVG
- jquery - 在日期选择器中禁用过去的日期
- powershell - 在 switch 语句中分配变量
- javascript - 一些 CSS 不适用于我的项目中的反应和
- json - UserDefaults 错误:执行被中断,原因:EXCBADACCESS(代码=1,地址=0x38)
- android - Android Material Snackbar 旧样式
- visual-studio-mac - VS for Mac 无法打开任何文件:“文件...无法打开”
- ruby-on-rails - Activerecord 不创建数据