PyTorch翻译官网教程4-TRANSFORMS

pytorch——最新版本torchvision.transforms常用API翻译与讲解 最新版本torchvision.transforms常用API翻译与讲解 pytorch7 最新版本torchvision.transforms常用API翻译与讲解最新版本torchvision.transforms常用API翻译与讲解基本函数ComposeRandomChoiceRandomOrderPIL上的操作中心切割CenterCrop随机切割RandomCrop随机比例切割颜色震颤ColorJitter随机旋转RandomRotation灰度化Grayscalesize概率随机(常用)Tensor 阅读详情

官网链接

Transforms — PyTorch Tutorials 2.0.1+cu117 documentation

TRANSFORMS

数据并不总是以训练机器学习算法所需的最终处理形式出现,我们使用transforms对数据进行一些操作,使其适合于训练。

所有的TorchVision数据集都有两个参数,transform用于修改特征,target_transform用于修改标签。这两个参数为调用函数,包含转换逻辑。 torchvision.transforms 模块提供了几种常用的开箱即用的transform。

FashionMNIST的特征为PIL Image格式,标签为integer格式。为了训练,我们需要将特征转换为归一化处理的张量,将标签转换为one-hot编码的张量。为了完成这些转换,我们使用ToTensor和Lambda。

import torch
from torchvision import datasets
from torchvision.transforms import ToTensor, Lambda

ds = datasets.FashionMNIST(
    root="data",
    train=True,
    download=True,
    transform=ToTensor(),
    target_transform=Lambda(lambda y: torch.zeros(10, dtype=torch.float).scatter_(0, torch.tensor(y), value=1))
)

输出

Downloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/train-images-idx3-ubyte.gz
Downloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/train-images-idx3-ubyte.gz to data/FashionMNIST/raw/train-images-idx3-ubyte.gz

  0%|          | 0/26421880 [00:00<?, ?it/s]
  0%|          | 65536/26421880 [00:00<01:12, 362266.80it/s]
  1%|          | 229376/26421880 [00:00<00:38, 680230.69it/s]
  3%|2         | 720896/26421880 [00:00<00:12, 2002640.95it/s]
  6%|5         | 1540096/26421880 [00:00<00:07, 3218256.61it/s]
 16%|#5        | 4227072/26421880 [00:00<00:02, 9447718.64it/s]
 24%|##3       | 6225920/26421880 [00:00<00:01, 10376547.38it/s]
 33%|###3      | 8847360/26421880 [00:01<00:01, 14166293.23it/s]
 42%|####1     | 11042816/26421880 [00:01<00:01, 13678077.39it/s]
 52%|#####1    | 13631488/26421880 [00:01<00:00, 16516067.49it/s]
 60%|######    | 15925248/26421880 [00:01<00:00, 15417830.40it/s]
 70%|######9   | 18448384/26421880 [00:01<00:00, 17609718.89it/s]
 79%|#######9  | 20905984/26421880 [00:01<00:00, 16403516.46it/s]
 88%|########8 | 23298048/26421880 [00:01<00:00, 18134303.49it/s]
 98%|#########7| 25886720/26421880 [00:01<00:00, 17102426.93it/s]
100%|##########| 26421880/26421880 [00:02<00:00, 13182141.90it/s]
Extracting data/FashionMNIST/raw/train-images-idx3-ubyte.gz to data/FashionMNIST/raw

Downloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/train-labels-idx1-ubyte.gz
Downloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/train-labels-idx1-ubyte.gz to data/FashionMNIST/raw/train-labels-idx1-ubyte.gz

  0%|          | 0/29515 [00:00<?, ?it/s]
100%|##########| 29515/29515 [00:00<00:00, 327759.82it/s]
Extracting data/FashionMNIST/raw/train-labels-idx1-ubyte.gz to data/FashionMNIST/raw

Downloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/t10k-images-idx3-ubyte.gz
Downloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/t10k-images-idx3-ubyte.gz to data/FashionMNIST/raw/t10k-images-idx3-ubyte.gz

  0%|          | 0/4422102 [00:00<?, ?it/s]
  1%|1         | 65536/4422102 [00:00<00:11, 363698.07it/s]
  5%|5         | 229376/4422102 [00:00<00:06, 683312.59it/s]
 14%|#4        | 622592/4422102 [00:00<00:02, 1702377.65it/s]
 36%|###5      | 1572864/4422102 [00:00<00:00, 3401498.22it/s]
 76%|#######5  | 3342336/4422102 [00:00<00:00, 7182283.54it/s]
100%|##########| 4422102/4422102 [00:00<00:00, 5435154.93it/s]
Extracting data/FashionMNIST/raw/t10k-images-idx3-ubyte.gz to data/FashionMNIST/raw

Downloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/t10k-labels-idx1-ubyte.gz
Downloading http://fashion-mnist.s3-website.eu-central-1.amazonaws.com/t10k-labels-idx1-ubyte.gz to data/FashionMNIST/raw/t10k-labels-idx1-ubyte.gz

  0%|          | 0/5148 [00:00<?, ?it/s]
100%|##########| 5148/5148 [00:00<00:00, 31293155.06it/s]
Extracting data/FashionMNIST/raw/t10k-labels-idx1-ubyte.gz to data/FashionMNIST/raw

ToTensor()

ToTensor将PIL图像或NumPy数组转换为FloatTensor。并在[0,1]范围内缩放图像的像素强度值。

Lambda Transforms

Lambda transforms应用于任何用户定义的Lambda函数。在这里,我们定义一个函数来将整数转换为一个one-hot 编码张量。它首先创建一个大小为10的零张量(我们数据集中的标签数量),并调用scatter_,它对标签y给出的索引赋值=1。

target_transform = Lambda(lambda y: torch.zeros(
    10, dtype=torch.float).scatter_(dim=0, index=torch.tensor(y), value=1))

SeamlessM4T:端到端多模态翻译的PyTorch工程实践 多模态翻译是将语音、文本、跨语言语义统一建模的技术范式,其核心在于打破传统级联流程中ASR→MT→TTS的冗余耦合。SeamlessM4T通过共享隐空间对齐、任务自适应适配器与离散语音单元(Unit)表示,实现了语音到语音直译等五类任务的联合建模。PyTorch凭借动态计算图、CUDA内核优化及nn.ModuleDict等原生能力,成为支撑模态对齐、稀疏注意力与动态模块切换的唯一可行框架。该技术已落地国际医疗问诊、工业AR巡检与教育出海等低延迟、高鲁棒性场景,显著降低端到端延迟并提升术语准确率。本文聚焦其底 阅读详情

相关推荐

深度学习入门实战:基于PyTorch从零构建图像分类项目

很多刚接触深度学习的同学,面对复杂的理论、海量的框架和层出不穷的模型,常常感到无从下手。想动手做一个项目,却卡在环境配置、数据准备、模型选择和代码调试等环节,最终只能停留在“看教程”的阶段。本文将为你提供一套清晰、可执行的“从零到一”的深度学习项目实战指南,手把手带你完成一个完整的图像分类项目。无论你是计算机专业的学生,还是希望转行AI的开发者,都能通过本文快速上手,获得第一个可运行的深度学习项目成果。 1. 项目目标与核心概念:从“是什么”到“做什么” 在开始敲代码之前,我们需要明确目标。本次实战的目标是

weixin_34008805的博客 870

PyTorch 系列 | 数据加载和预处理教程

图片来源:Unsplash,作者:Damiano Baschiera2019 年第 66 篇文章,总第 90 篇文章本文大约8000字,建议收藏阅读原题| DATA...

AI 算法笔记 1263

2026深度学习框架怎么选?PyTorch两小时速通指南

深度学习框架是构建神经网络模型的基础工具,其核心设计直接影响开发体验与学习曲线。动态计算图与自动求导机制让模型调试变得直观,而生态活跃度则决定了从论文复现到工业落地的顺畅程度。在当前主流的 TensorFlow 与 PyTorch 之间,如何做出适合自身需求的选择,是深度学习入门者面临的首要问题。基于框架演进历程与核心差异,梳理出适用于科研与工程实践的选型思路,并整理了一条从环境搭建到图像分类实战的 PyTorch 快速学习路线,帮助初学者在最短时间内跑通完整训练流程。

weixin_34344403的博客 379

【Pytorch实战5】数据读取和处理(以脸部关键点检测的数据为例)

参考资料: 数据读取和处理官网教程 对于初学者来说,编程遇到的头一个问题可能就是不知道怎么编写数据读取的代码以输入网络。本文主要讲解的就是编写该部分代码的常见方法和编程思路。内容基本是官方文档的翻译与总结。 数据 下载链接 下载之后保存在data/faces路径下。 里面一共有69张脸部图片,有一个csv文档作为金标准用于保存所有的关键点,每一张脸部图像有68个关键点。 打开c...

m0_37935211的博客 4543

MATLAB集成PyTorch模型:交互式任务实现跨语言AI工作流

在科学计算与AI工程领域,跨语言互操作是提升开发效率的关键技术。其核心原理是通过内存高效的数据转换引擎,实现不同编程环境间的无缝数据交换。以MATLAB与Python的互操作为例,底层通过专用引擎将MATLAB数组转换为NumPy数组,进而与PyTorch Tensor进行零成本转换,这为复杂AI模型的集成提供了技术基础。该技术的工程价值在于打破了工具链壁垒,允许研究人员在保持MATLAB交互式探索体验的同时,直接调用PyTorch生态中丰富的预训练模型。在实际应用场景中,这特别适用于算法原型验证、数据分析

weixin_33696822的博客 358

PyTorch+OpenCV实战:手撕FGSM对抗样本生成与鲁棒性测试

对抗样本是深度学习模型在输入空间中微小扰动即导致错误预测的现象,其本质源于神经网络高维非线性决策边界的脆弱性。基于梯度的快速攻击方法(如FGSM)通过计算损失函数对输入的梯度方向施加有界扰动,以低成本暴露模型鲁棒性缺陷。该技术具有明确的数学原理、可复现的工程链路和强解释价值,广泛应用于AI安全评估、模型加固验证及可解释性研究。在Python生态中,PyTorch提供动态图与细粒度梯度控制能力,OpenCV保障图像域精准映射与物理世界适配,二者协同构成工业级对抗实验的黄金组合。本文聚焦FGSM这一基石算法,覆

weixin_34353714的博客 406

PRISM分布门控流匹配:无配对图像翻译的稳定生成模型实践

生成对抗网络(GAN)在图像生成领域取得了显著成果,但其训练不稳定和模式崩溃问题一直是工程实践中的挑战。近年来,基于流匹配和常微分方程(ODE)的生成模型因其训练稳定性优势受到关注,它们通过构建从简单分布到复杂数据分布的连续概率流路径来生成数据。这类模型在训练时通常使用均方误差等凸损失函数,避免了GAN的对抗性博弈,从而在图像生成质量与训练鲁棒性之间取得了更好平衡。在无配对图像翻译任务中,PRISM模型创新性地引入了分布门控机制,将内容编码与风格编码作为条件信息来引导概率流的走向,实现了更可控的图像风格迁移

weixin_34081595的博客 417

PyTorch实现神经风格迁移:从原理到可商用落地

神经风格迁移(NST)是一种将图像内容与艺术风格解耦并重组的基础生成式AI技术,其核心在于卷积神经网络的分层特征表达与Gram矩阵对纹理统计特性的建模能力。该技术不依赖大模型或黑盒API,而是基于VGG-19等经典CNN架构,在特征空间中定义内容损失与风格损失,并通过优化算法协同求解。它兼具教学价值与工程实用性,广泛应用于AI绘画工具、短视频滤镜、UI设计辅助及医学影像风格适配等场景。本文聚焦PyTorch原生实现,深入解析Gram矩阵的物理意义、VGG-19层选型逻辑及L-BFGS优化器的收敛优势,提供零

weixin_30655569的博客 393

PyTorch深度学习完整学习体系:从理论到实战项目全解析

深度学习作为人工智能的核心技术,通过神经网络模拟人脑学习机制实现智能决策。其核心原理基于前向传播和反向传播算法,利用梯度下降优化模型参数。PyTorch作为当前最受欢迎的深度学习框架,凭借动态计算图和简洁API设计,为开发者提供了高效的模型构建和训练环境。在工程实践中,PyTorch支持从基础的张量操作到复杂的神经网络架构,广泛应用于计算机视觉和自然语言处理等领域。本学习体系通过系统化的课程设计,结合PyTorch框架特性,帮助学习者掌握深度学习从基础理论到项目实战的全流程技能,特别适合希望系统构建AI技术

weixin_30325487的博客 388

PyTorch深度学习实战:从环境配置到Grad-CAM可解释性

深度学习不是调用预训练模型的黑盒流程,而是对计算图、内存布局与梯度流的系统性掌控。PyTorch作为兼具灵活性与可调试性的张量计算框架,其核心价值在于支持从CUDA版本验证、数据契约构建、自定义Module开发,到Grad-CAM热力图生成的全链路干预能力。理解torch.cuda.is_available()背后的驱动-Toolkit-cuDNN三角关系,掌握DataLoader中num_workers与pin_memory的工程权衡,以及通过register_backward_hook定位梯度消失,是区

weixin_33853794的博客 473

TensorFlow还是PyTorch?零基础深度学习入门框架选择指南

深度学习框架是连接算法理论与工程实现的桥梁,其核心在于基于张量的自动求导与计算图机制。TensorFlow强调生产部署的稳定性,而PyTorch凭借动态图与Python原生风格,成为学术研究与快速原型验证的主流工具。对初学者而言,选择框架的标准不应是盲目追随潮流,而应综合考量学习成本、调试体验、社区资料与就业方向。无论选择哪个框架,其底层数学原理——反向传播、损失函数、梯度优化等均保持一致,掌握基础概念才是关键。本文从环境搭建、代码对比到避坑建议,系统梳理两个框架的差异,帮你在深度学习的入门阶段做出清晰选择

weixin_30824479的博客 508

TensorFlow还是PyTorch?新手深度学习框架选型与实战指南

深度学习框架是人工智能工程落地的核心工具,而TensorFlow与PyTorch作为两大主流选择,直接影响开发者的学习路径与部署效率。二者在计算图机制、调试方式及生态布局上各有侧重:PyTorch以动态图提供直观的调试体验,适合科研复现与快速迭代;TensorFlow凭借Keras高层API和TFLite完善的部署工具链,在工业场景中占据优势。理解这些底层差异后,开发者可根据实际目标——是追求论文复现、算法研究,还是需要移动端推理、业务系统集成——做出合理判断。本文从环境配置、最小模型训练、常见报错排查到部

weixin_34379433的博客 339

PyTorch与TensorFlow双框架实战指南:从安装到部署的最佳路线

在深度学习工程实践中,框架选型直接影响开发效率与部署路径。PyTorch与TensorFlow作为两大主流深度学习框架,共享张量与自动求导的底层原理,却在动态图与静态图的执行哲学上各有侧重。理解这些核心技术概念,有助于开发者摆脱二选一的纠结,建立跨框架的方法论。无论你是要快速验证论文中的新模型,还是将训练好的模型部署到移动端或服务端,掌握两套工具链都极具工程价值。本文从环境配置、数据加载、模型构建到训练循环给出完整对照,并辅以MNIST手写数字识别的双框架实例,帮助你从零跑通第一个模型,同时看清Keras高

weixin_33904756的博客 461

PyTorch vs TensorFlow:深度学习框架选型与实战指南

深度学习框架是构建神经网络模型的基石,其核心价值在于通过张量运算和自动求导机制,将复杂的梯度计算与GPU并行加速封装成易用的API,大幅降低研发门槛。选型时需理解动态图与静态图的设计差异:动态图利于调试和快速迭代,适合学术研究与原型验证;静态图则更擅长优化和分布式部署,广泛应用于工业落地。本文从张量、自动求导等基础概念出发,系统对比PyTorch与TensorFlow的语法差异和生态优势,并结合CNN手写数字识别(MNIST)项目的完整实现,直观展示两者在模型定义、训练循环及工程部署上的异同,为不同背景的开

weixin_34194359的博客 316

如何制作DOS启动盘 U盘制作DOS启动盘 HP-U盘启动DOS7 详细步骤教程 Intel网卡使用软件 bootutil lanconfig eeupdate Intel网卡修改MAC地址教程

制作DOS启动盘不是一项复杂的任务,只要按照以下简单的步骤进行操作,您就可以自己动手制作一个DOS启动盘。

lcy524514826的博客 899

win2012 r2 + IIS8.5 伪静态设置脚本映射

win2012 r2 + IIS8.5 伪静态设置脚本映射,网站用的.net fromwork 2.0 ,应用程序池设置了32位支持

xueking87的专栏 3241

PyTorch深度学习环境搭建与实战:从零开始掌握神经网络开发

深度学习作为人工智能的核心技术,通过神经网络模拟人脑学习机制实现智能决策。其原理基于多层非线性变换提取数据特征,具备强大的模式识别能力。在技术价值层面,深度学习显著提升了图像识别、自然语言处理等任务的准确率,成为推动AI产业化的关键引擎。应用场景涵盖计算机视觉、语音识别、推荐系统等多个领域,其中PyTorch框架凭借其动态计算图和易用性优势,成为深度学习开发的首选工具。通过PyTorch的自动微分机制和丰富的预训练模型库,开发者能够快速构建神经网络,实现从环境配置到模型部署的全流程实战。本文基于PyTorc

weixin_30376083的博客 386

usb gadget uvc driver的code分析

uvc的linux driver分为host侧和gadget侧两个driver。host侧的driver在v4l2框架下,而设备侧的driver在usb/gadget文件夹下。gadget侧的uvc driver,利用v4l2框架去注册video_device,向应用层提供调用接口。同时,它完成v4l2 video buffer拷贝到usb request下的buffer下,然后利用uvc实现的协

lintwins的专栏 1万+

PyTorch vs TensorFlow:核心架构、自动微分与选型指南

深度学习框架是现代AI工程的核心工具,而自动微分和计算图设计则决定了框架的灵活性与性能边界。无论是PyTorch动态图带来的调试便利,还是TensorFlow静态优化带来的部署优势,本质上都服务于从模型训练到生产落地的完整链路。理解张量系统、梯度回传、模型序列化与设备管理这些通用概念,远比背诵十几个API更能提升工程能力。如今两大框架在功能上快速收敛,选型更取决于具体场景:研究实验、Transformer微调往往优先PyTorch;企业级部署、端侧推理则TensorFlow生态更成熟;跨框架协作可借助ONN

weixin_34127717的博客 421

论文记录:Affine Formation Maneuver Control of Multiagent Systems

多智能体编队控制仿真记录 实现功能:平移/旋转/尺寸缩放/shear,见截图 注意:本仿真图只是起到了演示效果,中间过程速度产生突变,实际中是不允许的。需要进行速度规划,这一点论文中仿真图更为贴合实际。 参考论文:Zhao, S. (2018). Affine Formation Maneuver Control of Multiagent Systems. IEEE Transactions on Automatic Control, 63(12), 4140–4155. 突然发现有个博主写得很好,参考:

W1H1J1的博客 2108

提取abaqus中节点集合的应力应变

节点是没有应力应变的,只有积分点才有,所以直接在odb文件里面用FieldOutput是整不出来的(结果是个空列表),只能用session这种让abaqus自己帮你处理。具体的代码需要根据自己操作的时候abaqus.rpy这个文件中代码的变化来更改。

蓝胖子的博客 4556

PyTorch与TensorFlow双框架实战:从入门到部署的学习路线

深度学习框架的选择常让初学者困惑。理解张量、自动求导、训练循环等核心概念,比绑定单一工具更重要。本文从环境配置讲起,使用Anaconda隔离PyTorch和TensorFlow环境,并通过MNIST手写识别快速验证安装。接着对比Transformer注意力机制、目标检测、CycleGAN和TD3强化学习等进阶实战,最后介绍批量推理与模型服务化部署。无论做科研还是工程落地,掌握双框架能提升迁移能力,让学习路径更灵活。文章附有常见问题排查表,帮助解决CUDA版本、显存不足等典型痛点,适合刚入门或想拓宽技能栈的开

weixin_30706691的博客 338

YOLOv11 改进 - 注意力机制 | Deformable-LKA 可变形大核注意力:自适应采样网格优化特征捕捉,提升不规则目标感知

本文介绍了可变形大核注意力(D-LKA Attention)及其在YOLOv11中的结合。D-LKA Attention是一种简化的注意力机制,采用大卷积核利用体积上下文信息,通过可变形卷积灵活调整采样网格,适应多样数据模式。它有2D和3D版本,3D版本在跨深度数据理解上表现出色,共同构成了D-LKA Net架构。我们将D-LKA Attention集成进YOLOv11,在模型的检测头部分引入deformable_LKA_Attention模块。实验表明,该方法在分割任务上表现优于现有方法,提升了模型的检测

魔改工程师的博客 1172

前端工程师实战验证码识别:从PyTorch训练到TensorFlow.js浏览器部署

验证码识别是计算机视觉中经典的图像分类与序列识别问题,其核心原理是通过卷积神经网络(CNN)提取图像特征,再结合循环神经网络(RNN)或CTC/Attention机制解码字符序列。这项技术对于提升自动化流程的效率和用户体验具有重要价值,广泛应用于登录安全、自动化测试和数据采集等场景。随着TensorFlow.js等Web端机器学习框架的成熟,前端工程师现在能够将训练好的模型直接部署到浏览器中,实现客户端智能识别。本文以验证码识别为切入点,详细介绍了如何利用PyTorch进行模型训练,并通过ONNX中间格式转

weixin_30731305的博客 349

原理和代码解读:用Diffusion Models高清图像修复(Image Inpainting)

在最近的Diffusion Models应用中,Image Inpainting+ControlNet/Lora等工作在模特衣服生成、家居场景重建等场景中得到了广泛的应用。这篇博客主要介绍Diffusion Models如何在修复高清图像的。

沉迷单车的追风少年 2499

pytorch搭建SSAE实现预测分类代码模板完整代码

pytorch搭建SSAE实现预测分类代码模板完整代码

325
上一篇: PyTorch翻译官网教程3-DATASETS & DATALOADERS
下一篇: PyTorch翻译官网教程5-BUILD THE NEURAL NETWORK
poorCoder_
博客等级 码龄10年 129粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值