当前位置: 首页 > news >正文

pytorch 笔记:张量索引的维度扩展规则

1 基本原理

在PyTorch中,张量索引的维度扩展规则遵循以下原则:

索引操作的核心规则:​
当使用索引数组访问张量时:

  1. 索引数组的每个元素对应选取原张量的一个子张量
  2. 结果形状 = 索引数组形状 + 原张量剩余维度形状

这么说可能不清楚,我们用例子说明

2 举例

假如我们有这样的两个张量

mlp_weights.shape = (num_poi, mer_size, mer_dim)
top2_indices.shape = (batch, cur_seq_len, 2)

selected_weights = mlp_weights[top2_indices]
步骤操作维度变化说明
1索引数组作用在维度0原张量第0维度(num_poi)被索引数组替换
2索引数组形状保持继承索引数组的(batch, cur_seq_len, 2)形状
3附加后续维度保留原张量的(mer_size, mer_dim)维度

——>selected_weights的维度是 (batch, cur_seq_len, 2,mer_size, mer_dim)

2.1 索引过程

  1. 每个索引值对应一个(mer_size,mer_dim)的矩阵:

    • top2_indices[0,0,0] = 1 → 选取mlp_weights[1,:,:]
    • top2_indices[0,0,1] = 2 → 选取mlp_weights[2,:,:]

相关文章:

  • 【Linux】进程概念和进程状态
  • 单片机写的小液晶屏驱动+汉字滚屏
  • 天梯赛 L2-008 最长对称子串 (天梯赛常用string函数)
  • Stable Diffusion lora训练(一)
  • 为什么要学习人工智能(AI)?—— 未来已来,AI引领时代变革
  • 第二十八篇 数据获取与数据分析:数仓体系下的专业化分工与协同
  • IIC读写EEPROM
  • 基于springboot医疗平台系统(源码+lw+部署文档+讲解),源码可白嫖!
  • 基于物联网的便携式土壤综合参数检测仪设计
  • MySQL外键约束下的索引删除难题:从报错到完美解决的实战指南
  • 医疗数据大集结
  • deepseek本地化部署
  • MySQL主从同步面试核心20问:从原理到实战深度拆解
  • System V共享内存详解:在Linux上实现内存共享的最佳实践
  • Powershell WSL部署ubuntu22.04.5子系统
  • 深入 Linux 声卡驱动开发:核心问题与实战解析
  • STM32:Default_Handler问题
  • 深入解析 C++ Vector:全面掌握 STL 核心容器的原理与高效实践
  • Mybatis事务
  • git相关操作
  • 巴菲特股东大会前瞻:执掌伯克希尔60年,巨轮将驶向何方
  • 美参议院通过新任美国驻华大使任命,外交部回应
  • 为治理商家“卷款跑路”“退卡难”,预付式消费司法解释5月起实施
  • 软硬件企业集中发布未成年人模式使用手册
  • 黄宾虹诞辰160周年|一次宾翁精品的大集结
  • 修订占比近30%收录25万条目,第三版《英汉大词典》来了