Learning Path
浏览 PyTorch 相关教程与章节。
AI Agent、机器学习、深度学习、数据分析与 Python 科学计算。
教程
525
PyTorch 教程 PyTorch 是一个开源的机器学习库,主要用于进行计算机视觉(CV)、自然语言处理(NLP)、语音识别等领域的研究和开发。 PyTorch由 Facebook 的人工智能研究团队开发,并在机器学习和深度学习社区中广泛使用。 PyTorch 以其灵活性和易用性而闻名,特别适合于深度学习研究和开发。 谁适合阅读本教程? 只要您具备编程的基础知识,您就可以阅读本教程,学习 PyTorch 适合对深度学习和..
PyTorch 混合精度训练 (AMP) 混合精度训练是深度学习中最重要的性能优化技术之一。它通过同时使用 FP32(单精度)和 FP16(半精度)浮点数进行计算,可以在几乎不损失模型精度的前提下,显著提升训练速度并减少显存占用。本节详细介绍 PyTorch 中的自动混合精度(Automatic Mixed Precision,AMP)技术。 适用版本:本文代码基于 PyTorch 1.6+ 的 torch.cuda.amp API..
document.addEventListener('DOMContentLoaded', function() { var articleBody = document.querySelector('.article-body'); if (articleBody) { renderMathInElement(articleBody, { ..
$(function() { $('.math').each(function() { renderMathInElement(this, { delimiters: [ { left: '\\(', right: '\\)', display: false }, { ..
PyTorch Autograd 自动微分 深度学习的训练本质上是一个反复求梯度、更新参数的过程。手动推导每一层的梯度既繁琐又容易出错,PyTorch 的 Autograd(自动微分)引擎正是为了解决这个问题而生——它能够自动计算任意计算图的梯度,让你专注于模型设计,而不是微积分推导。 核心概念 1、什么是自动微分 自动微分(Automatic Differentiation)不是数值微分(有限差分法),也不是符号微分(代数推..
PyTorch 基础 PyTorch 是一个开源的深度学习框架,以其灵活性和动态计算图而广受欢迎。 PyTorch 主要有以下几个基础概念:张量(Tensor)、自动求导(Autograd)、神经网络模块(nn.Module)、优化器(optim)等。 张量(Tensor):PyTorch 的核心数据结构,支持多维数组,并可以在 CPU 或 GPU 上进行加速计算。 自动求导(Autograd):PyTorch 提供了自动求导功能,..
$(function() { renderMathInElement(document.body, { delimiters: [ { left: '\\(', right: '\\)', display: false }, { left: '\\[', right: '\\]', di..
PyTorch 卷积神经网络 PyTorch 卷积神经网络 (Convolutional Neural Networks, CNN) 是一类专门用于处理具有网格状拓扑结构数据(如图像)的深度学习模型。 CNN 是计算机视觉任务(如图像分类、目标检测和分割)的核心技术。 下面这张图展示了一个典型的卷积神经网络(CNN)的结构和工作流程,用于图像识别任务。 在图中,CNN 的输出层给出了三个类别的概率:Donald(0.2)、Goofy(..
PyTorch 数据处理与加载 在 PyTorch 中,处理和加载数据是深度学习训练过程中的关键步骤。 为了高效地处理数据,PyTorch 提供了强大的工具,包括 torch.utils.data.Dataset 和 torch.utils.data.DataLoader,帮助我们管理数据集、批量加载和数据增强等任务。 PyTorch 数据处理与加载的介绍: 自定义 Dataset:通过继承 torch.utils.data.Data..
PyTorch 数据集 在深度学习任务中,数据加载和处理是至关重要的一环。 PyTorch 提供了强大的数据加载和处理工具,主要包括: torch.utils.data.Dataset:数据集的抽象类,需要自定义并实现 __len__(数据集大小)和 __getitem__(按索引获取样本)。torch.utils.data.TensorDataset:基于张量的数据集,适合处理数据-标签对,直接支持批处理和迭代。torch.ut..
PyTorch 分布式训练 当模型越来越大、数据越来越多时,单 GPU 已经无法满足训练需求。分布式训练通过多 GPU 甚至多台机器并行计算,可以显著缩短训练时间。本节详细介绍 PyTorch 中的分布式训练技术,包括 DataParallel、DistributedDataParallel 以及混合精度分布式训练。 1. 分布式训练基础 1.1 为什么需要分布式训练 深度学习模型的规模逐年增长,训练时间也随之增加。分布式训..
PyTorch 第一个神经网络 本章节我们将介绍如何用 PyTorch 实现一个简单的前馈神经网络,完成一个二分类任务。 以下实例展示了如何使用 PyTorch 实现一个简单的神经网络进行二分类任务训练。 网络结构包括输入层、隐藏层和输出层,使用了 ReLU 激活函数和 Sigmoid 激活函数。 采用了均方误差损失函数和随机梯度下降优化器。 训练过程是通过前向传播、计算损失、反向传播和参数更新来逐步调整模型参数。 实例 [mycod..
PyTorch GPU / CUDA 加速 深度学习的核心操作是大规模矩阵乘法与元素运算。CPU 的设计目标是处理复杂的串行逻辑,核心数通常为 8~64 个;而 GPU 拥有数千个简单并行核心,天然适合这类高度并行的数值计算。PyTorch 通过 NVIDIA 的 CUDA(Compute Unified Device Architecture)框架调用 GPU,可将训练速度提升数十倍乃至百倍。 1. CPU 与 GPU 的差异..
PyTorch 实例 - 图像分类项目 图像分类是计算机视觉中最基础的任务之一,其目标是让计算机能够识别图像中的主要内容并将其归类到预定义的类别中。例如,识别一张图片中是猫还是狗。 深度学习在图像分类中的应用 深度学习模型,特别是卷积神经网络(CNN),已成为图像分类任务的主流解决方案。PyTorch作为深度学习框架,提供了构建和训练CNN模型的完整工具链。 项目流程概述 一个完整的图像分类项目通常包含以下步骤: 数据准备与预处理 ..
PyTorch 安装 PyTorch 是一个流行的深度学习框架,支持 CPU 和 GPU 计算。 支持的操作系统 Windows:Windows 10 或更高版本(64位) macOS:macOS 10.15 (Catalina) 或更高版本 Linux:主流发行版(Ubuntu 18.04+、CentOS 7+、RHEL 7+等) Python 版本要求 推荐版本:Python 3.8 - 3..
PyTorch 简介 PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理。 PyTorch 最初由 Meta Platforms 的人工智能研究团队开发,现在属 于Linux 基金会的一部分。 许多深度学习软件都是基于 PyTorch 构建的,包括特斯拉自动驾驶、Uber 的 Pyro、Hugging Face 的 Transform..
PyTorch 损失函数 损失函数(Loss Function)衡量模型预测值与真实值之间的差距,是神经网络训练的核心指引——优化器通过最小化损失函数来更新模型参数。 PyTorch 在 torch.nn 模块中内置了十余种常用损失函数,覆盖分类、回归、排序等主要任务类型。 1. 损失函数基础 基本用法 所有 PyTorch 损失函数都是 nn.Module 的子类,使用方式统一: 实例 [mycode4 type=..
PyTorch 学习率调度器 学习率(Learning Rate)是神经网络训练中最重要的超参数之一。学习率过大,训练震荡甚至发散;学习率过小,收敛极慢,容易陷入局部最优。 学习率调度器(LR Scheduler) 通过在训练过程中动态调整学习率,兼顾训练初期的快速收敛与后期的精细调优。 1. 基础概念与使用模式 标准使用流程 实例 [mycode4 type='python'] import torch..
PyTorch 模型部署 模型部署是将训练好的机器学习模型投入实际应用的过程。PyTorch 提供了多种工具和方法来实现这一目标。 为什么需要模型部署 应用集成:将AI能力整合到Web、移动端或嵌入式系统中 性能优化:针对生产环境优化模型推理速度 资源管理:有效利用计算资源,实现高并发服务 部署流程概览 模型准备与优化 模型导出格式 PyTorch 主要支持以下导出格式: 格式 特点 适用场景 TorchSc..