张量的shape

torch.randint返回一个张量,从标准正态分布随机抽取一组数。
如下图是用torch.randint产生张量,利用shape属性访问各个维度的维数

1、一维张量

张量的shape_第1张图片

2、二维张量

张量的shape_第2张图片
如图是一个3*4的二维数组,x.shape[0]表示行数,x.shape[1]表示列数

3、三维张量

张量的shape_第3张图片
x是一个234 的三维数组,包含2个3*4的二维数组 ,x.shape[0]代表包含二维数组的个数,x.shape[1]表示二维数组的行数,x.shape[2]表示二维数组的列数。

4、总结

[a,b…c]中有N个数,也就是N维数组。表示a个N-1维数组,每个N-1维数组中农有b个N-2个数组…一维数组上有c个数,层层递减,分别对应shape[0],shape[1]…shape[N],也即是每个维度上的大小。
图上看的话,几个中括号就是几维,大维包小维,也就是对应层层拆。

张量就是多维数组,矩阵只是二维数组,没有多维矩阵,因为矩阵只有两个轴,别记混了。
附录
张量的shape_第4张图片
如上,是个四维矩阵,从最左边数,有4个[。从最低维开始看,也就是只有一个括号[]的,比如
张量的shape_第5张图片

这里面有两个数,那么对应最后一个2,也就是shape[3],也就是一维里面有2个
然后再往上数一维,有两个[[ ]],对应倒数第二个2,也就是shape[2],也就是二维里面有两行,这里是计数了(也就是一维了)。
张量的shape_第6张图片
张量的shape_第7张图片
同理,三维表示有三个[[[ ]]],然后可以看出是三个二维,也就是对应的shape[1]的3。
四维找[[[[ ]]]],可以看出整个中有2个三维,对应shape[0]的2。
参考:https://blog.csdn.net/liuweiyuxiang/article/details/79384435
https://blog.csdn.net/Hningning/article/details/102962402
https://blog.csdn.net/weixin_43050017/article/details/108089406

你可能感兴趣的:(深度学习,矩阵,线性代数)