transforms.RandomApply(transforms, p=0.5)
transforms:给定变化的列表,
类型:nn.MModuleList([])
import torchvision.transforms as transform
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
import torch.nn as nn
trans=nn.ModuleList([
transform.Grayscale(3),
transform.CenterCrop((64,128)),
transform.RandomHorizontalFlip(p=0.8)
])
img0=Image.open('lin-xiao-xun-000003.jpg')
img1=transform.RandomApply(trans,p=0.5)(img0)
img2=transform.RandomApply(trans,p=0.8)(img0)
axs = plt.figure().subplots(1, 3)
axs[0].imshow(img0);axs[0].set_title('src');axs[0].axis('off')
axs[1].imshow(img1);axs[1].set_title('1');axs[1].axis('off')
axs[2].imshow(img2);axs[2].set_title('2');axs[2].axis('off')
plt.show()
实图演示: