数据维度格式理解

本文探讨了numpy以及基于numpy的数据格式中,如何理解不同于MATLAB的维度表示。在numpy中,没有MATLAB的分号概念,维度通过中括号层级表示,从外到内依次为更高维度。通过递归查看每个维度的element数量,可以理解数据的结构。对于tensor,所有并列维度内的元素数量必须一致,并且每个tensor都有shape属性用于检查。
摘要由CSDN通过智能技术生成

受到之前MATLAB的矩阵输入格式的影响,一直没能很好的体会numpy和torch.tensor的维度表示方式。
在MATLAB中,可以通过分号或换行的形式表示不同的维度或方向。
但是在numpy以及基于numpy的众多数据格式中,是没有分号这一概念的。每一个维度方向必须用对应该维度方向的中括号[ ]括起来

  • 第零个维度方向囊括整体的数据分布,故该维度的中括号在最外边;
  • 第一维度方向次之,该维度方向的中括号在次外边,以此类推。

继续理解:其实高维数据可以看成是广义低维数据,这点很重要。如果从第零个维度方向去看该数据有多少element,则我们要去看有多少个第一维度方向的并列元素个数,再往下的二维三维方向都是包含在第一维度方向中,从第一维度方向视角我们看不到。如果从第一维度方向的视角去看一维方向内部有多少element,就去数其内部有多少个第二维度方向的并列的元素个数,以此类推。其实这种查看方式本质上就是递归。可以一直查看到什么什么程度呢?查看到其内部的element是scalar,我们知道,scalar的shape是0,向量的shape是(1, )

通常查看每一个tensor的shape或size是个什么规格的,可以利用上述的描述来检查核对 (shape是每一个tensor都有的属性)。

#这里我们用numpy来举例,numpy在这方面其实和torch.tensor是一致的
import numpy as
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值