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

相关推荐
chatexcel19 分钟前
元空AI+Clawdbot:7×24 AI办公智能体新形态详解(长期上下文/自动化任务/工具粘合)
运维·人工智能·自动化
All The Way North-21 分钟前
彻底掌握 RNN(实战):PyTorch API 详解、多层RNN、参数解析与输入机制
pytorch·rnn·深度学习·循环神经网络·参数详解·api详解
Li emily30 分钟前
如何通过外汇API平台快速实现实时数据接入?
开发语言·python·api·fastapi·美股
bylander34 分钟前
【AI学习】TM Forum《Autonomous Networks Implementation Guide》快速理解
人工智能·学习·智能体·自动驾驶网络
m0_5613596737 分钟前
掌握Python魔法方法(Magic Methods)
jvm·数据库·python
Ulyanov43 分钟前
顶层设计——单脉冲雷达仿真器的灵魂蓝图
python·算法·pyside·仿真系统·单脉冲
Techblog of HaoWANG1 小时前
目标检测与跟踪 (8)- 机器人视觉窄带线激光缝隙检测系统开发
人工智能·opencv·目标检测·机器人·视觉检测·控制
laplace01231 小时前
Claude Skills 笔记整理
人工智能·笔记·agent·rag·skills
2501_941418551 小时前
【计算机视觉】基于YOLO11-P6的保龄球检测与识别系统
人工智能·计算机视觉
码农三叔1 小时前
(8-3)传感器系统与信息获取:多传感器同步与传输
人工智能·机器人·人形机器人