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

相关推荐
C++业余爱好者1 小时前
Java 提供了8种基本数据类型及封装类型介绍
java·开发语言·python
老蒋新思维1 小时前
创客匠人峰会深度解析:知识变现的 “信任 - 效率” 双闭环 —— 从 “单次交易” 到 “终身复购” 的增长密码
大数据·网络·人工智能·tcp/ip·重构·数据挖掘·创客匠人
大刘讲IT1 小时前
面向中小企业的企业AI Agent未来3年构建蓝图规划
人工智能·经验分享·ai·开源·制造
yzx9910131 小时前
深度学习的进化之路:从感知机到通用智能的曙光
人工智能·深度学习
是开心的栗子呀1 小时前
阿里云天池:预测二手车交易价格的机器学习项目-高效实现MAE低于500分
人工智能·机器学习·阿里云·ai·云计算
智算菩萨1 小时前
走向场景,走向融合:2025年末国产大模型的平台化竞赛与Agent新范式
人工智能·语言模型·aigc
KAI智习1 小时前
一张图看懂AI Agent的6种模式—MAS
人工智能·agent·多智能体·mas
AI Echoes2 小时前
构建一个LangChain RAG应用
数据库·python·langchain·prompt·agent
玩转单片机与嵌入式2 小时前
在STM32F103单片机上跑通AI模型:为什么选正弦波作为Hello World?
人工智能·stm32·单片机
闲谈共视2 小时前
基于去中心化社交与AI智能服务的Web钱包商业开发的可行性
前端·人工智能·去中心化·区块链