Pytorch:torchvision.transforms.Compose

transforms.Compose 是PyTorch库中torchvision.transforms 模块提供的一个功能,它允许将多个图像变换操作组合起来 。当你在处理图像,并需要依次应用多个变换(如缩放、裁剪、归一化等)时,Compose可以把这些变换串联成一个单一的操作,这样你就可以非常方便地在数据集上应用这个组合操作。

使用Compose的时候,通常是在定义数据加载时进行。以下是一个例子:

python 复制代码
from torchvision import transforms

# 定义一系列图像变换操作
transformations = transforms.Compose([
    transforms.Resize(256),            # 缩放图像,使得短边为256像素
    transforms.CenterCrop(224),        # 从中心裁剪224x224的图像
    transforms.ToTensor(),             # 将PIL图像或NumPy ndarray转换为FloatTensor,并归一化至[0.0, 1.0]
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) # 对图像进行标准化处理
])

# 然后你可以将这些组合的变换应用到数据集上
from torchvision.datasets import ImageFolder
dataset = ImageFolder(root='path_to_dataset', transform=transformations)

在上述代码中,transforms.Compose 用来将四个图像预处理步骤串联起来:

  • transforms.Resize(256):调整图像大小。
  • transforms.CenterCrop(224):从图像中心裁剪出一个224x224大小的区域。
  • transforms.ToTensor():将图像转换为PyTorch的Tensor。
  • transforms.Normalize:标准化图像数据。

这样,当你从dataset中取数据时,每个获取的图像项目都会自动通过这个组合的变换流程处理。这是机器学习和深度学习实验中进行数据预处理的一种常见方式。

相关推荐
Python量化投资、代码解析与论文精读几秒前
R语言-机器学习生态风险评估RF-SHAP分析
人工智能·python·深度学习
Ulyanov7 分钟前
基于Tkinter/ttk的现代化Python GUI开发全攻略:从布局设计到视觉美化(三)
开发语言·python·gui·tkinter·ttk
FindAI发现力量12 分钟前
精通高效沟通逻辑,筑牢稳定开单根基
人工智能·销售管理·ai销售·ai销冠·销售智能体
yivifu13 分钟前
完美的PyMuPDF删除pdf页面文字水印
python·pdf·pymupdf·去水印
weixin_4331793318 分钟前
python - 读写文件
开发语言·python
LJ979511124 分钟前
从SEO到GEO:媒体发布如何让品牌被AI“主动看见”
人工智能
Astro_ChaoXu28 分钟前
GAMSE使用日志与教程(高分辨率光谱数据缩减)
linux·数据库·python
即安莉30 分钟前
告别本地报错!字节扣子 2.0 史诗级更新:一键部署 OpenClaw,开启 AI 员工“自进化”时代
人工智能
NOCSAH31 分钟前
持续进化:从ERP到数智一体化,AI深度融入全链路
大数据·人工智能·统好ai·数智一体化平台
人工智能培训32 分钟前
基于知识图谱的故障推理方法与算法
人工智能·python·深度学习·机器学习·知识图谱·故障诊断