我运行了一个关于图像无监督学习的模型。在图像进入学习之前,我正在执行各种数据增强,例如旋转、随机擦除、翻转等。但是,我还想根据它们的正态/高斯分布裁剪我的图像。我还在使用名为 Augmentator 的外部库,它也没有基于正态分布的裁剪。它基本上只是随机中心或只是随机的。
我所有的转换都进入这样的列表:
transforms_ = [
transforms.Grayscale(num_output_channels=1),
# transforms.Resize(int(img_height * 1.12), Image.BICUBIC),
transforms.RandomCrop(img_height, img_width), #this has to be based on normal distribution of the image
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
# transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5)),
# transforms.Normalize((0.5,), (0.5,)), # greyscale normalisation
]
非常感谢任何帮助。我发现没有这样做的外部库,所以如果我必须自己实现它,我需要一种集成到 Pytorch 的方法,所以任何指导都会有所帮助。