pytorch中,repeat()这个函数的功能是很容易理解的,但是函数在不同参数下的执行逻辑通常还是会让初次接触的同学有点疑惑,今天仔细想了一下,感觉可以以这样的方式去理解:

import torchx = torch.tensor([1,2,3])#将一维度的x扩展到三维
xx = x.repeat(4,2,1)/**
扩展步骤如下(倒着执行):
1  最后一个维度1:此时将[1,2,3]中的数字直接重复1次,得到[1,2,3],保持没变
2  倒数第二个维度2:先将上一步骤的结果增加一个维度,得到[[1,2,3]],然后将最外层中括号中的整体重复2次,得到[[1,2,3],[1,2,3]]
3  倒数第三个维度4:先将上一步骤的结果增加一个维度,得到[[[1,2,3],[1,2,3]]],然后将最外层中括号中的整体重复4次,得到[[[1,2,3],[1,2,3]],[[1,2,3],[1,2,3]],[[1,2,3],[1,2,3]],[[1,2,3],[1,2,3]]]
4  三个维度扩展结束,得到结果。**/

测试代码如下:

import torchx = torch.tensor([1,2,3])x1 = x.repeat(4)
print("x1:\n",x1)x2 = x.repeat(4,1)
print("x2:\n"x2)x3 = x.repeat(4,2)
print("x3:\n"x3)x4 = x.repeat(4,2,1)
print("x4:\n"x4)

测试代码结果:

x1:tensor([1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3])
x2:tensor([[1, 2, 3],[1, 2, 3],[1, 2, 3],[1, 2, 3]])
x3:tensor([[1, 2, 3, 1, 2, 3],[1, 2, 3, 1, 2, 3],[1, 2, 3, 1, 2, 3],[1, 2, 3, 1, 2, 3]])
x4:tensor([[[1, 2, 3],[1, 2, 3]],[[1, 2, 3],[1, 2, 3]],[[1, 2, 3],[1, 2, 3]],[[1, 2, 3],[1, 2, 3]]])

torch中repeat()函数的准确理解相关推荐

  1. pytorch中repeat()函数理解

    pytorch中repeat()函数理解 最近在学习过程中遇到了repeat()函数的使用,这里记录一下自己对这个函数的理解. 情况1:repeat参数个数与tensor维数一致时 a = torch ...

  2. Makefile中wildcard函数的应用理解

    文章目录 前言 1 "*"通配符使用场景 2 "*"通配符实例 总结 前言 如果我们想定义一系列比较类似的文件,我们很自然地就想起使用通配符.make 支持三种 ...

  3. torch中contiguous()函数

    1. 背景 torch中一些操作会改变原数据,比如:narrow() view() expand() transpose()等操作,在使用transpose()进行转置操作时,pytorch并不会创建 ...

  4. C++多态中虚函数的深入理解

    c++中动态多态性是通过虚函数来实现的.静态多态性是通过函数的重载来实现的,在程序运行前的一种早绑定,动态多态性则是程序运行过程中的一种后绑定.根据下面的例子进行说明. #include <io ...

  5. java js中 function函数报错_浅析JS中对函数function的理解(基础篇)

    正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定 ...

  6. 【增减维度】numpy和torch中的squeeze、unsqueeze理解

    文章目录 1 为何要增减维度 2 numpy中的squeeze 函数 3 torch中的squeeze 函数 4 torch中的unsqueeze 函数 1 为何要增减维度 神经网络conv2d的输入 ...

  7. 关于numpy,torch中seed()方法的一些理解

    首先举几个使用seed()函数的例子: # 生成随机数,以便固定后续随机数,方便复现代码 random.seed(args.seed) # 没有使用GPU的时候设置的固定生成的随机数 np.rando ...

  8. 如何理解python中的函数_如何理解“python中函数是一等公民”?

    python.js.scala等支持函数式编程的语言中,是如何体现"函数是一等公民(first class)"的?而在c/c++.java等静态语言中的一等公民又是什么?如何体现的 ...

  9. Pytorch中gather函数的个人理解方法

    之前一直理解不了Pytorch中gather的用法,看了官方的文档也是一头雾水.然后自己琢磨,找规律,用以下方法进行理解. 一.官方文档 torch.gather(input, dim, index, ...

最新文章

  1. 在Android上实现HttpServer
  2. 掉坑里了,小记一下.
  3. 单选框radio绑定click事件
  4. tensorflow dataset_ops map()方法 (返回数据集通过函数“ map_func”的元素映射)
  5. 高基数特征的预处理方式
  6. 公司要禁止QQ?【我们从协议开始分析】
  7. Java 集合练习——3
  8. Java main 方法详解
  9. Python分析「我们为什么这么穷」
  10. Python继承范例
  11. PHP正则表达式转义符对照
  12. 忘记root密码,使用救援模式,grup设置密码
  13. 微星主板黑苹果_黑苹果安装教程:准备磁盘+主板BIOS设置——墨涩网
  14. 实验:Android案例——小宝宝装备选择
  15. Java实现 LeetCode 808 分汤 (暴力模拟)
  16. 磊科nw362 linux驱动下载,磊科nw362无线网卡驱动
  17. 液晶显示屏模组工艺流程是什么,液晶显示模组生产流程的意义
  18. ubuntu安装有道词典命令行查询
  19. 基于matlab的低秩结构重构算法仿真实现,对比ALM,IT,APG,ADMM
  20. 职场5大潜规则不可不知

热门文章

  1. django 发送邮件验证码
  2. 递归删除符合条件的目录,文件, kotlin,java
  3. vue上传大文件/视频前后端(java)代码
  4. 2022-清华管理学-清华大学-宁向东
  5. 为什么要加上ROW FORMAT DELIMITED NULL DEFINED AS ‘‘;?
  6. 大学生职业规划8000字_大一职业规划书8000字
  7. python抢红包程序算法,Python 抢红包算法模拟
  8. 有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中
  9. 注册造价工程师用书免费电子版_2019-2020造价工程师各科电子教材精讲高清课件拿来和大家免费分享.......
  10. 2021南京大学计算机考研分数线,【34所院校线】南京大学2021考研复试分数线已公布...