首页 > 解决方案 > TensorFlow 上的高级测试和训练时间数据增强

问题描述

据我所知, tf 不包括像在火炬中那样的数据增强,例如torchvision.transforms.FiveCroptorchvision.transforms.TenCrop. 什么是实施并将其连接到训练和测试过程的有效方法。

标签: tensorflowkeras

解决方案


Thera 有多种方法可以在 tensorflow 中实现数据增强:

  1. 在训练期间,对象检测 API 会自动为您执行此操作: https ://github.com/tensorflow/models/blob/master/research/object_detection/protos/preprocessor.proto

  2. tf.keras ImageDataGenerator允许您在训练期间应用数据增强。更具体地,允许您控制等。您可以在此处 brightness, rotation, shearing, shifting, zooming, rescaling查看有关ImageDataGenerator的更多信息: https ://keras.io/api/preprocessing/image/

  3. 我喜欢做的另一件事是创建一个函数来实现我自己的数据增强技术。然后,将其传递给preprocessing_functionImageDataGenerator。这样,您可以添加任何您能想到的数据增强。例如,ImageDataGenerator调整图像对比度的运气。在这种情况下,您可以自己实现它。我找到了这个存储库,它展示了如何在OpenCV 和 Numpy中实现大量增强: https ://github.com/kochlisGit/random-data-augmentations


推荐阅读