You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyTorch实现张量索引映射:无需循环的高效方法

PyTorch实现索引张量到值张量的映射

在PyTorch中,你可以直接利用张量索引的特性完成这个映射,完全不需要循环,这是最简洁高效的线性实现方式:

直接通过b[a]就能得到目标张量,原理是将张量a中的每个元素作为索引,自动取张量b对应位置的值,完成逐元素的映射。

完整代码示例

import torch

a = torch.tensor([0, 2, 5, 1, 0, 0, 4, 3, 0, 0, 0, 2, 2, 1])
b = torch.tensor([1.5, 2.7, 1.8, 7.0, 3.9, 10.0])

new_tensor = b[a]
print(new_tensor)

运行后输出结果:

tensor([ 1.5000,  1.8000, 10.0000,  2.7000,  1.5000,  1.5000,  3.9000,  7.0000,
         1.5000,  1.5000,  1.5000,  1.8000,  1.8000,  2.7000])

这个方法基于PyTorch底层优化的张量操作,性能远优于循环实现。

内容的提问来源于stack exchange,提问作者Chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 23:35:40