如何在PyTorch中为数据集同时应用两种不同的变换?
解决PyTorch中同时应用Resize和ToTensor变换的问题
要同时对数据集应用多种变换,你需要使用torchvision.transforms.Compose类将多个变换组合成一个执行序列,PyTorch会按顺序依次执行这些变换。
实现步骤:
- 从
torchvision.transforms中导入Compose类; - 用
Compose封装Resize和ToTensor(注意顺序:先执行Resize处理PIL图像,再通过ToTensor将其转换为PyTorch张量); - 将组合后的变换传入
ImageFolder的transform参数。
完整代码示例:
from torchvision.datasets import ImageFolder from torchvision.transforms import ToTensor, Resize, Compose # 组合变换:先缩放图片到224x224,再转为PyTorch张量 transform = Compose([ Resize([224, 224]), ToTensor() ]) # 加载数据集并应用组合变换 dataset = ImageFolder("/content/sub_folder", transform=transform)
这样就能对目标文件夹内的所有图片同时完成两种变换操作。
内容的提问来源于stack exchange,提问作者Formal_this
相关产品推荐
相关产品推荐

