当前位置: 首页 > 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++是什么?与其他编译器又有什么关系?
  • 五大国货美妆去年业绩分化:珀莱雅百亿营收领跑,上海家化转亏
  • 奔驰一季度利润降四成,受美国加征关税影响放弃全年盈利展望
  • A股三大股指涨跌互现:3343股收涨,两市成交超1.1万亿元
  • 排除燃气爆炸、人为放火可能,辽宁辽阳火灾事故起火原因正在调查
  • 从孔雀尾巴到蒙娜丽莎,一个鸟类学博士眼中的“美”
  • 东风着陆场做好各项搜救准备,迎接神舟十九号航天员天外归来