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()])