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

【python深度学习】Day 48 PyTorch基本数据类型与操作

知识点:
  1. 随机张量的生成:torch.randn函数
  2. 卷积和池化的计算公式(可以不掌握,模型会自动计算的)
  3. pytorch的广播机制:加法和乘法的广播机制

ps:numpy运算也有类似的广播机制,基本一致

作业:借助ai举几个例子帮助自己理解

一、PyTorch张量

1.张量的定义

张量(Tensor)是深度学习中,PyTorch操作的基本数据类型,详细解释如下

张量是多维数组的泛化,可以看作是标量、向量、矩阵的高维扩展。例如:

  • 标量(0维张量):只有一个数值,如5

  • 向量(1维张量):一维数组,如[1, 2, 3]

  • 矩阵(2维张量):二维数组,如[[1, 2], [3, 4]]

  • 更高维的张量:如三维张量可以表示图像数据(高×宽×通道数)。

2.生成随机张量

(1)使用场景:权重的初始化,或者计算输入纬度经过模块后输出的维度

(2)常用函数:

torch.randn(size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)

- size:必选参数,表示输出张量的形状,如(3, 4)表示 3 行 4 列的矩阵

- dtype:可选参数,指定张量的数据类型,如torch.float32、torch.int64

- device:可选参数,指定张量存储的设备,如cpu或cuda)

- requires_grad:可选参数,是否需要计算梯度,常用于训练模型时

二、PyTorch广播机制

PyTorch 的广播机制是一种张量运算性质(即自动扩展特性),允许在不同形状的张量之间进行运算(如加法、乘法),而无需显式扩展或复制数据。这种机制通过自动调整张量维度来实现形状兼容,使代码更简洁、计算更高效。

当对两个形状不同的张量进行运算时,PyTorch 会按以下规则自动调整维度,使两个张量相互兼容:

1. 从右向左比较维度:PyTorch 从张量的最后一个维度(最右侧)开始向前逐维比较。

2. 维度扩展条件:

  • 相等维度:若两个张量在某一维度上大小相同,则继续比较下一维度。
  • 一维扩展:若其中一个张量在某一维度上大小为 1,则该维度会被扩展为另一个张量对应维度的大小。
  • 不兼容错误:若某一维度大小既不相同也不为 1,则抛出 RuntimeError。-----维度必须满足广播规则,否则会报错。

3. 维度补全规则:若一个张量的维度少于另一个,则在其左侧补 1, 直至维度数匹配。

相关文章:

  • MySql读写分离部署(一主一从,双主双从,Mycat)
  • 用于机器学习的 Podman 简介:简化 MLOps 工作流程
  • javaSE复习(7)
  • LeetCode 2894.分类求和并作差
  • 基于51单片机的花样流水灯
  • 6个月Python学习计划 Day 17 - 继承、多态与魔术方法
  • 程序问题实录
  • Python BeautifulSoup解析HTML获取图片URL并下载到本地
  • 【电路】阻抗匹配
  • 云原生架构赋能企业数字化转型:从理念到落地的系统性探索
  • springboot3.5整合Spring Security6.5默认密码没有打印输出控制台排查过程
  • BeanFactory 和 FactoryBean 有何区别与联系?
  • 在vs2022中的program.cs中已经没有app.useEndpoints
  • 分词算法总结:不同分词算法的优点和缺点
  • K8S认证|CKS题库+答案| 8. 沙箱运行容器 gVisor
  • 从入门到实战:AI学习路线全解析——避坑指南
  • AUTOSAR实战教程--开放式通用DoIP刷写工具OpenOTA开发计划
  • shell脚本 --案例实操
  • 【优选算法】模拟 问题算法
  • 【CSS-7】深入解析CSS伪类:从基础到高级应用
  • 深圳大学网站建设/代发新闻稿的网站
  • 重生主角做视频网站的小说/百度关键词怎么刷上去
  • 常宁网站建设常宁网站建设/百度指数有哪些功能
  • asp企业网站开发技术/邯郸seo优化
  • 建设网站相关法律条文/郑州学校网站建设
  • 金山专业网站建设/宁波正规seo推广