第四章 PyTorch进阶教程

一、Broadcasting 广播机制

在这里插入图片描述

在这里插入图片描述

  • 广播机制的实际应用例子

在这里插入图片描述

  • 广播的规则

在这里插入图片描述


二、合并与分割

在这里插入图片描述

  • cat():合并方法
    dim:表示在指定在哪个维度上进行合并
    注意:除选择的拼接维度外,其余维度必须相等

在这里插入图片描述

在这里插入图片描述

  • stack():用于维度拼接,但是是在指定dim维度前创建新的维度(新的维度值为合并个数),且合并的各tensor在指定的dim维度及其之后的维度上值相等

在这里插入图片描述

  • split():在指定的dim上,按照指定的各分片在此维度上的长度进行拆分

在这里插入图片描述

  • chunk():在指定的dim上,按照指定的拆分数量进行拆分(均等拆分)

在这里插入图片描述


三、数学运算

在这里插入图片描述

  • 符号操作与方法是一致的
    注意:其中的 * 与 mul是tensor按元素位置对应相乘的操作

在这里插入图片描述

  • matmul:矩阵乘法
    torch.mm():仅支持2维的矩阵相乘
    torch.matmul():支持多维的(推荐)
    @:与torch.matmul()功能一致,是符号化的操作

在这里插入图片描述

  • 矩阵乘法的实际运用

在这里插入图片描述

  • 高维度矩阵乘法
    必须dim值相等,除最后两个维度外其他维度数值相等(或能根据broadcasting进行扩充后相等),且只做最后两个维度上的矩阵运算,结果规则仅变换最后两个维度,其他数值不变。

在这里插入图片描述

  • Power:求tensor元素求次方操作
    pow():对各元素做次方操作
    sqrt():对各元素做开次方根操作
    **n:对各元素做次方操作

在这里插入图片描述

  • 对数\指数操作

在这里插入图片描述

  • 求近似解方法
    floor():取下限整数
    ceil():取上限整数
    trunc():取整数部分
    frac():取小数部分
    round():四舍五入

在这里插入图片描述

  • clamp:① 设定tensor中的最小值,指凡事值小于10的均由是0代替
    ② 或设定取值区间,不在该区间的值取边界值
    max():返回最大值
    min():返回最小值
    median():返回中间值

在这里插入图片描述

四、属性统计

在这里插入图片描述

  • norm:范数求解
    normalize表示正则化,norm表示求范数
    matrix norm表示矩阵范数,vector norm表示向量范数

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 常见统计方法
    mean():平均值
    sum():累加值
    min():最小值
    max():最大值
    prod():累乘值
    argmax():返回最大值所在的index,为tensor标量
    argmin(): 返回最小值所在的index,为tensor标量
    注意:argmax、argmin均默认是先将高维转换为1维(按行转)再求index

在这里插入图片描述

在这里插入图片描述

  • 对于属性统计中dim参数的用处,可以统计操作的维度通道
    keepdim参数:为True时保持维度数不变

在这里插入图片描述

  • topk():用于保留指定维度上的排名前k位的元素数值的tensor(tensor的维度不会变化),及其空间位置index
    注:其中可以使用参数largest来设定是从小到大选取,还是从大到小选取,默认为True表示从大到小选取
    kthvalue():用于保留指定维度上排序后位列第k个的数值的tensor

在这里插入图片描述

  • compare:实现tensor之间各元素位置上值的大小比较运算
    torch.eq():用于比较两tensor各对应位置上元素值是否相等
    torch.equal():用于比较两tensor是否完全一致,返回的是逻辑真或逻辑假
    注:结果为1或0,表示逻辑真与假

在这里插入图片描述

  • 高阶操作

在这里插入图片描述

  • where():根据condition的值控制返回的源数据来自是哪一个
    condition与a、b是同维度的bool矩阵

在这里插入图片描述

在这里插入图片描述

  • gather():执行收集操作,使用index对input中的数据进行收集

在这里插入图片描述

在这里插入图片描述

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是小白学习PyTorch的一些教程: 1. 官方文档:PyTorch提供了详细的官方文档,从安装到使用教程,以及高级深度学习开发的资料。学习PyTorch的第一步是查看官方文档:https://pytorch.org/docs/stable/index.html 2. PyTorch中文文档:如果英语不是很好,这是一个很好的PyTorch中文文档。虽然有一些不是很清晰或者过时的部分,但是它仍然是较好的教程之一。:https://pytorch-cn.readthedocs.io/zh/latest/ 3. PyTorch Handbook:PyTorch Handbook汇集了PyTorch的基础知识和高级技巧,适合新手学习,也适合进阶使用PyTorch的人参考。:https://github.com/zergtant/pytorch-handbook 4. Udacity深度学习班“入门PyTorch”课程:入门PyTorch是Udacity的深度学习班的一门课程。 该课程提供了关于PyTorch的综合介绍,包括从张量到神经网络的构建。该课程的重点是实战:利用 PyTorch 实现著名的 MNIST 实例,训练卷积神经网络,基于迁移学习的图像分类等等。:https://www.udacity.com/course/deep-learning-pytorch--ud188 5. PyTorch实战教程:完整的 PyTorch 实战教程,包括深度神经网络,零件库,图像和自然语言处理等:https://github.com/yunjey/pytorch-tutorial 6. PyTorch 60分钟教程PyTorch 60分钟教程PyTorch 的入门课程,该课程提供了有关 PyTorch 库和 API 的指南。:https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html 7. 深度学习理论入门:这本书不仅介绍了深度学习领域的基础知识,还介绍了用PyTorch实现深度学习模型的方法,并且包含了许多实际案例示例。:https://github.com/huanhuanZhang/rampy/tree/main/PyTorch 以上是小白学习PyTorch的一些教程PyTorch是一个强大的深度学习框架,它的文档和教程都很详细。选择合适的教程和实践,不断探索和学习,才能真正掌握这个框架。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ModelBulider

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值