Tensor列表索引本质

张量列表索引本质
单列表索引

将原张量shape对应位置数字更改为索引列表的形状

python 复制代码
data = torch.randn((9, 512, 30))
index_list = [0, 1, 3]
print(data[:, index_list].shape)
'''
[[9, 3, 30]]
'''


# torch.Size([1, 6, 5])
index2_list = torch.IntTensor([[[4, 5, 6, 7, 8],
                               [4, 5, 6, 7, 8],
                               [4, 5, 6, 7, 8],
                               [4, 5, 6, 7, 8],
                               [4, 5, 6, 7, 8],
                               [4, 5, 6, 7, 8]]])
print(data[:, index2_list].shape)
# torch.Size([6, 1, 6, 5, 30])
多列表索引

双列表索引本质就是索引列表之间通过广播机制,达成一致。

python 复制代码
data = torch.randn((6, 512, 30))
# index1: torch.Size([1, 6, 5])
index1 = torch.IntTensor([[[4, 5, 6, 7, 8],
                           [4, 5, 6, 7, 8],
                           [4, 5, 6, 7, 8],
                           [4, 5, 6, 7, 8],
                           [4, 5, 6, 7, 8],
                           [4, 5, 6, 7, 8]]])

# index2: torch.Size([5])
index2 = torch.IntTensor([0, 1, 2, 3, 4])


# 双列表索引
print(data[index1, index2].size())
'''
torch.Size([1, 6, 5, 30])
'''

# 三列表索引
print(data[index1, index2, index1].size())
'''
torch.Size([1, 6, 5])
'''
列表索引本质

多列表是先广播。

如果是单列表:

  • 1\] 返回:\[data\[1\]

  • 1, 2, 3\], 返回:\[data\[1\], data\[2\], data\[3\]

  • \[1, 2, 3\]\],返回: \[ \[ data\[1\], data\[2\], data\[3\] \]

如果是双列表:

  • 1\], \[2\] : 返回:\[ data\[1, 2\]

  • \[1\]\], \[1, 2\] : 先广播:\[\[1, 1\]\], \[\[1, 2\]\] 重叠 \[\[(1,1), (1, 2)\]\] 返回: \[ \[ data\[1, 1\], data\[1,2\] \]

多列表以此类推。

相关推荐
Marst Code9 分钟前
[特殊字符] 利用 AI 大模型进行长任务项目开发
人工智能
西安老张(AIGC&ComfyUI)17 分钟前
第006章:ComfyUI图片绘制常用大模型介绍
人工智能·aigc·comfyui
yongyoudayee18 分钟前
AI原生与AI附加:CRM选型的架构分水岭与六维评估框架
人工智能·架构·ai-native
哈哈,柳暗花明19 分钟前
人工智能专业术语详解(G)
人工智能·专业术语
高洁0121 分钟前
打造行业知识图谱三步走
python·深度学习·数据挖掘·知识图谱
码农小白AI23 分钟前
钢筋力学检测报告校验升级:IACheck通审Agent版如何实现原始试验记录全链路溯源
人工智能
招标采购导航网24 分钟前
招标采购导航网的召回通道设计:为什么同时用协同过滤、向量召回、规则召回三种策略
大数据·人工智能
码农阿强27 分钟前
startapi.top|gemini-3.1-flash-image-preview(Nano Banana 2 )商用产品文档
人工智能
scx_link34 分钟前
Softmax回归
人工智能·数据挖掘·回归
装不满的克莱因瓶37 分钟前
使用 PyTorch Tensor 的相关数据处理
人工智能·pytorch·python·深度学习·机器学习·ai