Pytorch中高维度张量理解

Pytorch中高维度张量理解

创建一个tensor

python 复制代码
tensor = torch.rand(3,5,3,2)

结果如下:

python 复制代码
```python
tensor([[[[0.3844, 0.9532],
          [0.0787, 0.4187],
          [0.4144, 0.9552]],

         [[0.0713, 0.5281],
          [0.0230, 0.8433],
          [0.1113, 0.5927]],

         [[0.0040, 0.1001],
          [0.3837, 0.6088],
          [0.1752, 0.3184]],

         [[0.2762, 0.8417],
          [0.5438, 0.4406],
          [0.0529, 0.5175]],

         [[0.1038, 0.7948],
          [0.4991, 0.5155],
          [0.4651, 0.8095]]],


        [[[0.0377, 0.0249],
          [0.2440, 0.8501],
          [0.1176, 0.7303]],

         [[0.9979, 0.6738],
          [0.2486, 0.4152],
          [0.5896, 0.8879]],

         [[0.3499, 0.6918],
          [0.4399, 0.5192],
          [0.1783, 0.5962]],

         [[0.3021, 0.4297],
          [0.9558, 0.0046],
          [0.9994, 0.1249]],

         [[0.8348, 0.7249],
          [0.1525, 0.3867],
          [0.8992, 0.6996]]],


        [[[0.5918, 0.9135],
          [0.8205, 0.5719],
          [0.8127, 0.3856]],

         [[0.1870, 0.6190],
          [0.2991, 0.9424],
          [0.5405, 0.4200]],

         [[0.9396, 0.8072],
          [0.0319, 0.6586],
          [0.4849, 0.6193]],

         [[0.5268, 0.2794],
          [0.7877, 0.9502],
          [0.6553, 0.9574]],

         [[0.4079, 0.4648],
          [0.6375, 0.8829],
          [0.6280, 0.1463]]]])

现在我想获取

python 复制代码
tensor[0,0,0,0]

获取第一个维度的第0个元素:

python 复制代码
		[[[0.3844, 0.9532],
          [0.0787, 0.4187],
          [0.4144, 0.9552]],

         [[0.0713, 0.5281],
          [0.0230, 0.8433],
          [0.1113, 0.5927]],

         [[0.0040, 0.1001],
          [0.3837, 0.6088],
          [0.1752, 0.3184]],

         [[0.2762, 0.8417],
          [0.5438, 0.4406],
          [0.0529, 0.5175]],

         [[0.1038, 0.7948],
          [0.4991, 0.5155],
          [0.4651, 0.8095]]]

获取第二个维度的第0个元素:

python 复制代码
		[[0.3844, 0.9532],
		  [0.0787, 0.4187],
		  [0.4144, 0.9552]]

获取第三个维度的第0个元素:

python 复制代码
		[0.3844, 0.9532]

获取第四个维度的第0个元素:

python 复制代码
		0.3844

其他情况

tensor[-1]

获取第1个维度的最后一个元素:

python 复制代码
		[[[0.5918, 0.9135],
          [0.8205, 0.5719],
          [0.8127, 0.3856]],

         [[0.1870, 0.6190],
          [0.2991, 0.9424],
          [0.5405, 0.4200]],

         [[0.9396, 0.8072],
          [0.0319, 0.6586],
          [0.4849, 0.6193]],

         [[0.5268, 0.2794],
          [0.7877, 0.9502],
          [0.6553, 0.9574]],

         [[0.4079, 0.4648],
          [0.6375, 0.8829],
          [0.6280, 0.1463]]]

tensor[0,1]

获取第1个维度的第0个元素 :

python 复制代码
		[[[0.3844, 0.9532],
          [0.0787, 0.4187],
          [0.4144, 0.9552]],

         [[0.0713, 0.5281],
          [0.0230, 0.8433],
          [0.1113, 0.5927]],

         [[0.0040, 0.1001],
          [0.3837, 0.6088],
          [0.1752, 0.3184]],

         [[0.2762, 0.8417],
          [0.5438, 0.4406],
          [0.0529, 0.5175]],

         [[0.1038, 0.7948],
          [0.4991, 0.5155],
          [0.4651, 0.8095]]]

第2个维度的第1个元素:

python 复制代码
 		[[0.0713, 0.5281],
          [0.0230, 0.8433],
          [0.1113, 0.5927]]

tensor[:,1,0,1]

获取第1个维度的所有元素:

python 复制代码
		[[[0.3844, 0.9532],
          [0.0787, 0.4187],
          [0.4144, 0.9552]],

         [[0.0713, 0.5281],
          [0.0230, 0.8433],
          [0.1113, 0.5927]],

         [[0.0040, 0.1001],
          [0.3837, 0.6088],
          [0.1752, 0.3184]],

         [[0.2762, 0.8417],
          [0.5438, 0.4406],
          [0.0529, 0.5175]],

         [[0.1038, 0.7948],
          [0.4991, 0.5155],
          [0.4651, 0.8095]]],


        [[[0.0377, 0.0249],
          [0.2440, 0.8501],
          [0.1176, 0.7303]],

         [[0.9979, 0.6738],
          [0.2486, 0.4152],
          [0.5896, 0.8879]],

         [[0.3499, 0.6918],
          [0.4399, 0.5192],
          [0.1783, 0.5962]],

         [[0.3021, 0.4297],
          [0.9558, 0.0046],
          [0.9994, 0.1249]],

         [[0.8348, 0.7249],
          [0.1525, 0.3867],
          [0.8992, 0.6996]]],


        [[[0.5918, 0.9135],
          [0.8205, 0.5719],
          [0.8127, 0.3856]],

         [[0.1870, 0.6190],
          [0.2991, 0.9424],
          [0.5405, 0.4200]],

         [[0.9396, 0.8072],
          [0.0319, 0.6586],
          [0.4849, 0.6193]],

         [[0.5268, 0.2794],
          [0.7877, 0.9502],
          [0.6553, 0.9574]],

         [[0.4079, 0.4648],
          [0.6375, 0.8829],
          [0.6280, 0.1463]]]

第2个维度的第1个元素:

python 复制代码
 		[[0.0713, 0.5281],
          [0.0230, 0.8433],
          [0.1113, 0.5927]]

		[[0.9979, 0.6738],
          [0.2486, 0.4152],
          [0.5896, 0.8879]]

		[[0.1870, 0.6190],
          [0.2991, 0.9424],
          [0.5405, 0.4200]]

第3个维度的第0个元素:

python 复制代码
		[0.0713, 0.5281]
		[0.9979, 0.6738]
		[0.1870, 0.6190]

第4个维度的第1个元素:

python 复制代码
		 0.5281
		 0.6738
		 0.6190

最终结果:

python 复制代码
tensor([0.5281, 0.6738, 0.6190])
相关推荐
java1234_小锋1 分钟前
Spring AI 2.0 开发Java Agent智能体 - Spring AI 2.0简介
java·人工智能·spring·spring ai
Jun6262 分钟前
【树莓派】opencv水滴接触角测量
人工智能·opencv·计算机视觉
2401_882273725 分钟前
golang如何处理zip压缩包_golang zip压缩包处理思路
jvm·数据库·python
Hesionberger5 分钟前
LeetCode72.编辑距离(多维动态规划)
java·开发语言·c++·python·算法
zhangfeng11336 分钟前
No space left on device (28) llamafactory微调训练的时候 报错,需要调节 dataloader_num_workers
人工智能·语言模型·llama
流年似水~7 分钟前
iOS 开发进阶之路:从能跑到能维护
人工智能·程序人生·ios·语言模型
QuestLab10 分钟前
【第23期】2026年4月26日 AI日报
人工智能
tjc1990100511 分钟前
Golang怎么实现分布式定时任务_Golang如何保证集群中定时任务不重复执行【进阶】
jvm·数据库·python
卷心菜狗12 分钟前
Python进阶--网络编程入门
python
XLYcmy14 分钟前
2026游戏安全技术竞赛-PC客户端安全-初赛 求解起点到终点的最短路径
windows·python·网络安全·dfs·bfs·游戏安全·曼哈顿距离