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中取数据时,每个获取的图像项目都会自动通过这个组合的变换流程处理。这是机器学习和深度学习实验中进行数据预处理的一种常见方式。

相关推荐
Bruceoxl几秒前
【人物传记】Python 之父-吉多·范罗苏姆
python·计算机·人物传记
庄小焱14 分钟前
【AI模型】——RAG索引构建与优化
人工智能·ai·向量数据库·ai大模型·rag·rag索引·索引构建与优化
STLearner18 分钟前
WSDM 2026 | 时间序列(Time Series)论文总结【预测,表示学习,因果】
大数据·论文阅读·人工智能·深度学习·学习·机器学习·数据挖掘
NotFound48619 分钟前
实战分享Python爬虫,如何实现高效解析 Web of Science 文献数据并导出 CSV
前端·爬虫·python
玩转单片机与嵌入式19 分钟前
不会 Python、不会深度学习,也能在STM32上跑AI模型吗?
人工智能·单片机·嵌入式硬件·嵌入式ai
CareyWYR21 分钟前
我暂停了vibecoding一个月
人工智能
竹之却23 分钟前
【Agent-阿程】一文搞懂大模型Token核心原理与实战避坑指南
人工智能·token
呆呆敲代码的小Y26 分钟前
从LLM到Agent Skill:AI核心技术全拆解与系统化学习路线
人工智能·ai·llm·agent·优化·skill·mcp
昵称小白33 分钟前
从 ( y = wx + b ) 到神经网络:参数、loss、梯度到底怎么连起来(一)
人工智能·神经网络
SmartBrain37 分钟前
基于 Spring AI + Skill 工程 + MCP 技术方案研究
人工智能·spring·架构·aigc