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

Pytorch中,dim形象化的确切意义是什么?

在Pytorch中涉及张量的操作都会涉及“dim”的设置,虽然也理解个大差不差,但是偶尔还是有点犯迷糊,究其原因还是没有形象化的理解。

首先,张量的维度排序是有固定顺序的,0,1,2,......,是遵循一个从外到内的索引顺序;张量本身的维度越高,往内延伸的维度数越高。

“dim define what operation elements is”——这是我自己的形象化理解。

看一组代码:

>>> ones = torch.ones(3,4)
>>> ones
tensor([[1., 1., 1., 1.],[1., 1., 1., 1.],[1., 1., 1., 1.]])
>>> zeros = torch.zeros(3,4)
>>> zeros
tensor([[0., 0., 0., 0.],[0., 0., 0., 0.],[0., 0., 0., 0.]])
>>> ra = torch.arange(12).view(3,4)
>>> ra
tensor([[ 0,  1,  2,  3],[ 4,  5,  6,  7],[ 8,  9, 10, 11]])>>> torch.stack((ra,zeros),dim=0)
tensor([[[ 0.,  1.,  2.,  3.],[ 4.,  5.,  6.,  7.],[ 8.,  9., 10., 11.]],[[ 0.,  0.,  0.,  0.],[ 0.,  0.,  0.,  0.],[ 0.,  0.,  0.,  0.]]])
>>> torch.stack((ones,zeros),dim=0)
tensor([[[1., 1., 1., 1.],[1., 1., 1., 1.],[1., 1., 1., 1.]],[[0., 0., 0., 0.],[0., 0., 0., 0.],[0., 0., 0., 0.]]])
>>> torch.stack((ones,zeros),dim=-1)
tensor([[[1., 0.],[1., 0.],[1., 0.],[1., 0.]],[[1., 0.],[1., 0.],[1., 0.],[1., 0.]],[[1., 0.],[1., 0.],[1., 0.],[1., 0.]]])
>>> torch.stack((ra,zeros),dim=-1)
tensor([[[ 0.,  0.],[ 1.,  0.],[ 2.,  0.],[ 3.,  0.]],[[ 4.,  0.],[ 5.,  0.],[ 6.,  0.],[ 7.,  0.]],[[ 8.,  0.],[ 9.,  0.],[10.,  0.],[11.,  0.]]])
>>> torch.stack((ra,zeros),dim=1)
tensor([[[ 0.,  1.,  2.,  3.],[ 0.,  0.,  0.,  0.]],[[ 4.,  5.,  6.,  7.],[ 0.,  0.,  0.,  0.]],[[ 8.,  9., 10., 11.],[ 0.,  0.,  0.,  0.]]])
>>> print("dim define what operation elements is")
dim define what operation elements is
>>> 
>>> 

看完代码你应该会比较形象化的理解最后一句话:dim其实定义了参与操作的元素是什么样的。对于一个batch的数据来说,dim=0上定义的是一个个样本,dim=1定义了第二个维度即每个样本的特征维度,......, dim=-1代表了从最底层的逐个数值操作。

http://www.lryc.cn/news/308553.html

相关文章:

  • 跨域引起的两个接口的session_id不是同一个
  • 解释一下前端框架中的虚拟DOM(virtual DOM)和实际DOM(real DOM)之间的关系。
  • 【MyBatis-Plus】之queryWrapper.apply用法
  • Centos中安装Docker及Docker的使用
  • 亿道推出重磅加固平板!为行业发展注入新动力
  • Gemma谷歌(google)开源大模型微调实战(fintune gemma-2b)
  • MySQL:数据库中有哪些锁
  • MWC 2024丨美格智能发布全新5G-A模组及FWA解决方案,将5.5G带入现实
  • Opencv双目校正函数 stereoRectify 详解
  • 实现前端开发几个常用技巧
  • Vue3 在SCSS中使用v-bind
  • 玩转地下管网三维建模:MagicPipe3D系统
  • 11.以太网交换机工作原理
  • 【通信基础知识】完整通信系统的流程图及各模块功能详解
  • k8s-项目测试环境部署
  • 【Elasticsearch管理】缓存机制
  • JS api基础初学
  • uniapp实战:父子组件传参之子组件数量动态变化
  • Ubuntu绑定USB接口到固定端口
  • 解决gogs勾选“使用选定的文件和模板初始化仓库”报错500,gogs邮件发送失败,gogs邮件配置不生效,gogs自定义模板等问题
  • 数字后端——DEF文件格式
  • 【可做课设、附完整技术文档】流式、异步、实时的Django聊天室!(需进一步定制可联系本人)
  • 网络编程:基于TCP和UDP的服务器、客户端
  • kubectl 命令行管理K8S(上)
  • Redis 之四:Redis 事务和乐观锁
  • C# WPF编程-创建项目
  • 密码学及其应用(应用篇15)——0/1背包问题
  • 基于springboot+vue的实验室管理系统(前后端分离)
  • 华为OD技术面试案例5-2024年
  • 【QT+QGIS跨平台编译】之五十五:【QGIS_CORE跨平台编译】—【qgsmeshcalcparser.cpp生成】