1、数据增强

数据增强在缓解模型过拟合的问题上是非常给力的一种方法,虽然pytorchvision官方提供了一些数据增强,但是不一定能跟得上你具有创造性的想象力,你希望能自己定义一些数据增强的方法。

事实上我们自己写一个函数对图像进行一些处理是比较简单的,但是如何融入到transforms中去,而不影响训练时数据的加载?

2、transforms.Lambda

这个类文档中描述为“Apply a user-defined lambda as a transform.”,帮助用户自定义作为transform,下面给出实例代码,一看就懂

from torchvision import transforms as T

# 你自己的数据增强函数
def img_crop(img, pos, dst_size):
    # ...
    return crop_img


transform = T.Compose([
	#Lambda就是对每一个img都进行img_crop处理
    T.Lambda(lambda img: img_crop(img, (3, 3), 40)),
    T.ToTensor()])
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐