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

相关推荐
MinggeQingchun15 分钟前
Python - 初识Python;Python解释器下载安装;Python IDE(一)
python·pycharm
超维机器人17 分钟前
《配电网高质量发展行动实施方案(2024~2027年)》发布,智能巡检机器人助力新型电力系统建设
大数据·人工智能·机器人
大数据编程之光21 分钟前
Python版Spark Structured Streaming编程指南
开发语言·python·spark
豌豆花下猫21 分钟前
Python 潮流周刊#77:Python 依赖管理就像垃圾场火灾?(摘要)
后端·python·ai
红队it22 分钟前
【计算机毕设】无查重 基于python豆瓣电影评论舆情数据可视化系统(完整系统源码+数据库+开发笔记+详细部署教程)✅
数据库·笔记·python·算法·机器学习·信息可视化·数据分析
理想不理想v34 分钟前
vue2和vue3:diff算法的区别?
前端·javascript·vue.js·python·tornado
工业互联网专业1 小时前
Python毕业设计选题:基于django+vue的二手物品交易系统
vue.js·python·django·毕业设计·源码·课程设计
柯大侠爱喝水1 小时前
python pandas ,处理csv文件、hdf5文件、parquet文件效率详细对比
python·pandas·csv·hdf5·parquet
摆烂仙君1 小时前
南京邮电大学《智能控制技术》期末抢救
人工智能·机器学习
一夜白头催人泪1 小时前
Django的RBAC认证和权限
后端·python·django