当前位置: 首页 > news >正文

PyTorch 零基础入门完整版学习笔记

一、PyTorch 框架简介

1. 基本介绍

PyTorch 是基于 Python 的开源深度学习框架,核心数据载体是张量(Tensor),主打灵活易用、动态图机制,在学术研究、工业落地、计算机视觉、自然语言处理、强化学习等领域广泛使用。

2. 安装命令

pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple

3. 核心特点

  • 语法风格和 NumPy 高度相似,上手简单
  • 内置自动微分机制,不用手动求导
  • 采用动态计算图,调试更友好
  • 原生支持 GPU/CUDA 硬件加速
  • 跨平台、生态完善,适配大模型、传统深度学习各类场景

4. 发展历程

  • 2016 年:Facebook 正式发布首个版本
  • 2018 年:PyTorch 1.0 发布,正式进入工业生产级阶段

二、张量 Tensor 核心概念

张量是 PyTorch 的核心数据结构,指同类型多维数组,也是深度学习运算的基础。

维度划分:

  • 0 维:标量(单个数值)
  • 1 维:向量(一维数组)
  • 2 维:矩阵(二维表格)
  • 3 维及以上:高维张量(图像、文本、特征数据)

对比 NumPy:张量不仅能做数值计算,还支持自动求导、GPU 加速


三、张量创建方式

1. 基础创建

  • torch.tensor():根据列表/数组直接创建张量
  • torch.Tensor():可指定形状初始化,也可传入数据
  • IntTensor/FloatTensor/DoubleTensor:直接指定数据类型创建

2. 线性序列张量

  • torch.arange(start, end, step):按步长生成,左闭右开
  • torch.linspace(start, num):均分指定个数元素

3. 随机张量

  • torch.randn():生成正态分布随机张量
  • torch.randint():生成随机整数张量
  • torch.manual_seed():设置随机种子,固定随机结果

4. 特殊常量张量

  • zeros / zeros_like:创建全 0 张量
  • ones / ones_like:创建全 1 张量
  • full / full_like:创建指定填充值的张量

四、张量类型转换

  1. 指定类型转换:tensor.type(torch.xxxTensor)
  2. 快捷方法:
    tensor.half() / float() / double() / int() / long() / short()

五、张量与 NumPy 互相转换

1. 张量 → NumPy

  • tensor.numpy()共享内存,一改全改
  • tensor.numpy().copy():拷贝数据,互不影响

2. NumPy → 张量

  • torch.from_numpy():共享内存
  • torch.tensor(ndarray):新建张量,不共享内存

3. 标量张量取值

单元素张量使用 .item() 取出普通数值。


六、张量数值运算

1. 基础算术运算

常规:add() sub() mul() div() neg() 不修改原张量
带下划线:add_() sub_() mul_()… 原地修改原数据

2. 点乘(哈达玛积)

同形状元素一一相乘:torch.mul() 或 直接使用 *

3. 矩阵乘法

  • 运算符:@
  • 函数:torch.matmul()
    规则:前一个矩阵列数 = 后一个矩阵行数

4. 常用数学函数

sum() mean() pow() sqrt() exp() log() log2() log10()
可通过 dim 指定按行/按列计算。


七、张量索引操作

支持多种索引方式,用法和 Python 切片高度一致:

  • 基础行列索引
  • 列表定点索引
  • 范围切片索引
  • 布尔条件索引
  • 多维高维索引

八、张量形状操作

函数 功能说明
reshape / view 不改变数据,只修改维度形状
squeeze 压缩维度为 1 的轴(降维)
unsqueeze 新增维度为 1 的轴(升维)
transpose 交换指定两个维度
permute 一次性重排所有维度
contiguous 转为内存连续,适配 view 操作

小知识点:经过 transpose/permute 的张量内存不连续,需要 contiguous() 后才能用 view。


九、张量拼接

1. torch.cat

已有维度上拼接,不增加新维度,除拼接轴外形状需一致。

2. torch.stack

全新维度上堆叠,会增加维度,要求两个张量形状完全相同。


十、PyTorch 自动微分 Autograd

1. 核心用法

给张量设置 requires_grad=True,开启梯度追踪,自动完成求导。

2 核心规则

  • PyTorch 只支持标量求导,向量需先用 .sum()
  • loss.backward() 反向传播计算梯度
  • 梯度存在 .grad 属性,会自动累加,必须手动 zero_() 清零

3. 梯度下降标准流程

前向传播计算损失 → 梯度清零 → 反向传播 → 更新参数

4. detach() 用法

切断计算图,生成无梯度的新张量,可安全转为 NumPy。


十一、PyTorch 线性回归实战

1. 模型训练四大标准步骤

  1. 准备数据集
  2. 搭建网络模型
  3. 配置损失函数 + 优化器
  4. 循环训练 + 结果可视化

2. 常用核心 API

  • 网络层:nn.Linear
  • 损失函数:nn.MSELoss
  • 优化器:optim.SGD
  • 数据加载:TensorDataset + DataLoader

3. 训练流程

构造数据集 → 划分批次加载 → 前向预测 → 计算损失 → 梯度清零 → 反向传播 → 参数更新 → 绘制损失曲线与拟合直线。


十二、学习总结

  1. PyTorch 以张量 Tensor 为核心,兼顾 NumPy 易用性与深度学习专属能力;
  2. 熟练掌握张量创建、类型转换、运算、索引、变形、拼接是入门基础;
  3. 自动微分是 PyTorch 精髓,不用手动推导公式,自动反向求导;
  4. 线性回归案例完整覆盖「数据→模型→损失→优化→训练」工业标准流程,是后续深度学习项目的通用模板。
http://www.jsqmd.com/news/852051/

相关文章:

  • 2026TOP5广元市利州区黄金,白银,铂金回收门店推荐及联系方式权威发布 - 前途无量YY
  • Input Leap跨设备键盘鼠标共享3步配置指南
  • 网络转发原理深度解析:二层交换与三层路由的本质区别
  • 2026 年纯玩团十大品牌排名及解析 - 十大品牌榜
  • 源代码管理工具Github的介绍
  • 2026TOP5合肥市庐阳区黄金,白银,铂金回收门店推荐及联系方式权威发布 - 前途无量YY
  • pdfjs 进阶:基于外部数据切片实现精准高亮与定位跳转
  • 程序员的时间管理:如何高效完成代码开发任务
  • 2026TOP5广元市昭化区黄金,白银,铂金回收门店推荐及联系方式权威发布 - 前途无量YY
  • 2026中山全屋定制性价比排行榜:5家本地工厂深度评测 - 速递信息
  • 广州医疗器械许可证代办公司优选 正规机构排名Top4 - 速递信息
  • LLPlayer:如何用AI视频播放器将外语视频变成你的私人语言教练
  • 2026TOP5合肥市蜀山区黄金,白银,铂金回收门店推荐及联系方式权威发布 - 前途无量YY
  • 沈阳投保人注意:找保险理赔律师,先问清楚这一点 - 铅笔写好字
  • 2026 年私人定制团十大品牌排名及解析 - 十大品牌榜
  • 别再为数据权限发愁了!若依框架@DataScope注解实战避坑指南(附完整配置流程)
  • 掌握AI视觉学习的5个关键突破:从零到精通的实战指南
  • 2026TOP5广州市白云区黄金,白银,铂金回收门店推荐及联系方式权威发布 - 前途无量YY
  • 避坑指南:DolphinScheduler Docker部署后,MySQL数据源连不上的几种常见原因及排查
  • 告别黑窗口:在Ubuntu上用VSCode调试你的第一个OpenGL三角形程序
  • MySQL索引选择B+树的深层原因:从磁盘I/O到范围查询的全面解析
  • 5分钟快速上手Tftpd64:免费全能网络服务器完整指南
  • 2026TOP5广州市从化区黄金,白银,铂金回收门店推荐及联系方式权威发布 - 前途无量YY
  • 2026年宁波短视频代运营与GEO优化怎么选?五大服务商深度横评与官方对接指南 - 优质企业观察收录
  • 2026年全国热门汽车散粮侧卸机推荐:界首市金龙机械设备有限公司 - 安互工业信息
  • 零基础C++实战上位机--基于QT5.15的串口调试工具(一)
  • R语言ggplot2实战:在染色体图谱上精准可视化基因与功能区间
  • WinPmem:专业级Windows物理内存取证采集工具深度解析
  • 2026TOP5广州市番禺区黄金,白银,铂金回收门店推荐及联系方式权威发布 - 前途无量YY
  • 2026石家庄上门黄金回收推荐,三家热门机构,金裕恒最火 - 润富黄金珠宝行