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

多列表以此类推。

相关推荐
人工智能训练12 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
源于花海12 小时前
迁移学习相关的期刊和会议
人工智能·机器学习·迁移学习·期刊会议
DisonTangor14 小时前
DeepSeek-OCR 2: 视觉因果流
人工智能·开源·aigc·ocr·deepseek
薛定谔的猫198214 小时前
二十一、基于 Hugging Face Transformers 实现中文情感分析情感分析
人工智能·自然语言处理·大模型 训练 调优
发哥来了14 小时前
《AI视频生成技术原理剖析及金管道·图生视频的应用实践》
人工智能
数智联AI团队14 小时前
AI搜索引领开源大模型新浪潮,技术创新重塑信息检索未来格局
人工智能·开源
不懒不懒14 小时前
【线性 VS 逻辑回归:一篇讲透两种核心回归模型】
人工智能·机器学习
冰西瓜60015 小时前
从项目入手机器学习——(四)特征工程(简单特征探索)
人工智能·机器学习
Ryan老房15 小时前
未来已来-AI标注工具的下一个10年
人工智能·yolo·目标检测·ai
丝斯201115 小时前
AI学习笔记整理(66)——多模态大模型MOE-LLAVA
人工智能·笔记·学习