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

tensor.repeat和tensor.repeat_interleave

tensor.repeat

在指定维度上整体复制张量内容

x = torch.arange(6).reshape(2,3)
print(x)
print(x.repeat(2,1))

上述代码的执行结果为:

tensor([[0, 1, 2],[3, 4, 5]])
tensor([[0, 1, 2],[3, 4, 5],[0, 1, 2],[3, 4, 5]])

可以看到,x.repeat(2, 1) 表示沿着第一个维度(行)复制 2 次,而第二个维度(列)不变,相当于将原始矩阵整体复制一份后在行方向上拼接。

tensor.repeat_interleave

这里只讲解dim不为None时的用法:

x = torch.arange(6).reshape(2,3)
print(x)
print(x.repeat_interleave(repeats=2,dim=0))

结果为:

tensor([[0, 1, 2],[3, 4, 5]])
tensor([[0, 1, 2],[0, 1, 2],[3, 4, 5],[3, 4, 5]])

可以看出,repeat_interleave(repeats=2, dim=0) 会将原张量在第 0 维上逐行重复每一行 2 次。

总结

repeatrepeat_interleave 都可以用于在张量的某个维度上进行扩展,但适用的场景略有不同。选择哪个函数取决于你想要的复制粒度:块级 还是 行/元素级。

相关文章:

  • Invicti-Professional-V25.4
  • 【Python标准库】数学相关的9个标准库
  • 八大排序之直接插入排序
  • ELK日志系统
  • Kubernetes控制平面组件:高可用 APIServer
  • 详解反射型 XSS 的后续利用方式:从基础窃取到高级组合拳攻击链
  • 定制一款国密浏览器(10):移植SM2算法前,解决错误码的定义问题
  • 【Linux】软件管理机制和软件安装
  • 软件测试--自动化测试1
  • 【操作系统原理02】进程的描述与控制
  • 基于机器学习 LSTM 算法的豆瓣评论情感分析系统
  • matlab论文图一的地形区域图的球形展示Version_1
  • 【Matlab】中国东海阴影立体感地图
  • 梅施CPQ + AI:开启智能AI与报价软件的新潮流
  • 大模型Rag - 文本分块
  • libevent的bufferevent测试用例和使用方法(附带源码)
  • 腾讯wxg企业微信 后端开发一面
  • 基于Ubuntu2504部署OpenStack E版
  • uv:重新定义Python开发效率的下一代工具链
  • GNU,GDB,GCC,G++是什么?与其他编译器又有什么关系?
  • “站在亚洲实现整体振兴的新起点上”——习近平主席对越南、马来西亚、柬埔寨进行国事访问纪实
  • 独家专访|苏童:《好天气》是一部献给中国郊区的作品
  • 接续驰援,中国政府援缅卫生防疫队出发赴缅
  • 梅德韦杰夫:如果欧盟和美国 “撒手不管”,俄罗斯会更快解决俄乌冲突
  • 张小泉:控股股东所持18%股份将被司法拍卖,不会导致控制权变更
  • 杭州一地铁口建筑被吐槽像棺材,官方回应:暂无拆除计划