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\] \]

多列表以此类推。

相关推荐
心勤则明33 分钟前
Spring AI 会话记忆实战:从内存存储到 MySQL + Redis 双层缓存架构
人工智能·spring·缓存
ARM+FPGA+AI工业主板定制专家3 小时前
基于GPS/PTP/gPTP的自动驾驶数据同步授时方案
人工智能·机器学习·自动驾驶
长鸳词羡3 小时前
wordpiece、unigram、sentencepiece基本原理
人工智能
ㄣ知冷煖★3 小时前
【GPT5系列】ChatGPT5 提示词工程指南
人工智能
科士威传动3 小时前
丝杆支撑座在印刷设备如何精准运行?
人工智能·科技·自动化·制造
taxunjishu4 小时前
DeviceNet 转 Modbus TCP 协议转换在 S7-1200 PLC化工反应釜中的应用
运维·人工智能·物联网·自动化·区块链
kalvin_y_liu5 小时前
智能体框架大PK!谷歌ADK VS 微软Semantic Kernel
人工智能·microsoft·谷歌·智能体
爱看科技5 小时前
智能眼镜行业腾飞在即,苹果/微美全息锚定“AR+AI眼镜融合”之路抢滩市场!
人工智能·ar
Juchecar7 小时前
LLM模型与ML算法之间的关系
人工智能
FIN66688 小时前
昂瑞微:深耕射频“芯”赛道以硬核实力冲刺科创板大门
前端·人工智能·科技·前端框架·信息与通信·智能