一. torch.repeat()函数解析

1. 说明

官网:torch.tensor.repeat(),函数说明如下图所示:

2. 函数功能

torch.tensor.repeat()函数可以对张量进行重复扩充
1) 当参数只有两个时:(行的重复倍数,列的重复倍数),1表示不重复。
2) 当参数有三个时:(通道数的重复倍数,行的重复倍数,列的重复倍数),1表示不重复。

3. 代码例子如下:

3.1 输入一维张量,参数为一个,即表示在列上面进行重复n次

a = torch.randn(3)
a,a.repeat(4)
结果如下所示:
(tensor([ 0.81, -0.57,  0.10]),tensor([ 0.81, -0.57,  0.10,  0.81, -0.57,  0.10,  0.81, -0.57,  0.10,  0.81,-0.57,  0.10]))

3.2 输入一维张量,参数为两个(m,n),即表示先在列上面进行重复n次,再在行上面重复m次,输出张量为二维

a = torch.randn(3)
a,a.repeat(4,2)
(tensor([ 0.06, -0.76, -0.59]),tensor([[ 0.06, -0.76, -0.59,  0.06, -0.76, -0.59],[ 0.06, -0.76, -0.59,  0.06, -0.76, -0.59],[ 0.06, -0.76, -0.59,  0.06, -0.76, -0.59],[ 0.06, -0.76, -0.59,  0.06, -0.76, -0.59]]))

3.3 输入一维张量,参数为三个(b,m,n),即表示先在列上面进行重复n次,再在行上面重复m次,最后在通道上面重复b次,输出张量为三维

a = torch.randn(3)
a,a.repeat(3,4,2)
输出结果如下:
(tensor([2.25, 0.49, 1.47]),tensor([[[2.25, 0.49, 1.47, 2.25, 0.49, 1.47],[2.25, 0.49, 1.47, 2.25, 0.49, 1.47],[2.25, 0.49, 1.47, 2.25, 0.49, 1.47],[2.25, 0.49, 1.47, 2.25, 0.49, 1.47]],[[2.25, 0.49, 1.47, 2.25, 0.49, 1.47],[2.25, 0.49, 1.47, 2.25, 0.49, 1.47],[2.25, 0.49, 1.47, 2.25, 0.49, 1.47],[2.25, 0.49, 1.47, 2.25, 0.49, 1.47]],[[2.25, 0.49, 1.47, 2.25, 0.49, 1.47],[2.25, 0.49, 1.47, 2.25, 0.49, 1.47],[2.25, 0.49, 1.47, 2.25, 0.49, 1.47],[2.25, 0.49, 1.47, 2.25, 0.49, 1.47]]]))

3.4 输入二维张量,参数为两个(m,n),即表示先在列上面进行重复n次,再在行上面重复m次,输出张量为两维注意参数个数必须大于等于输入张量维度个数

a = torch.randn(3,2)
a,a.repeat(4,2)
输出结果如下:
(tensor([[-0.58, -1.21],[-0.35,  0.68],[ 0.33,  0.70]]),tensor([[-0.58, -1.21, -0.58, -1.21],[-0.35,  0.68, -0.35,  0.68],[ 0.33,  0.70,  0.33,  0.70],[-0.58, -1.21, -0.58, -1.21],[-0.35,  0.68, -0.35,  0.68],[ 0.33,  0.70,  0.33,  0.70],[-0.58, -1.21, -0.58, -1.21],[-0.35,  0.68, -0.35,  0.68],[ 0.33,  0.70,  0.33,  0.70],[-0.58, -1.21, -0.58, -1.21],[-0.35,  0.68, -0.35,  0.68],[ 0.33,  0.70,  0.33,  0.70]]))

3.5 输入二维张量,参数为三个(b,m,n),即表示先在列上面进行重复n次,再在行上面重复m次,最后在通道上面重复b次,输出张量为三维。(注意输出张量维度个数为参数个数)

a = torch.randn(3,2)
a,a.repeat(3,4,2)
输出结果如下:
(tensor([[-0.75,  1.20],[-1.50,  1.75],[-0.05,  0.40]]),tensor([[[-0.75,  1.20, -0.75,  1.20],[-1.50,  1.75, -1.50,  1.75],[-0.05,  0.40, -0.05,  0.40],[-0.75,  1.20, -0.75,  1.20],[-1.50,  1.75, -1.50,  1.75],[-0.05,  0.40, -0.05,  0.40],[-0.75,  1.20, -0.75,  1.20],[-1.50,  1.75, -1.50,  1.75],[-0.05,  0.40, -0.05,  0.40],[-0.75,  1.20, -0.75,  1.20],[-1.50,  1.75, -1.50,  1.75],[-0.05,  0.40, -0.05,  0.40]],[[-0.75,  1.20, -0.75,  1.20],[-1.50,  1.75, -1.50,  1.75],[-0.05,  0.40, -0.05,  0.40],[-0.75,  1.20, -0.75,  1.20],[-1.50,  1.75, -1.50,  1.75],[-0.05,  0.40, -0.05,  0.40],[-0.75,  1.20, -0.75,  1.20],[-1.50,  1.75, -1.50,  1.75],[-0.05,  0.40, -0.05,  0.40],[-0.75,  1.20, -0.75,  1.20],[-1.50,  1.75, -1.50,  1.75],[-0.05,  0.40, -0.05,  0.40]],[[-0.75,  1.20, -0.75,  1.20],[-1.50,  1.75, -1.50,  1.75],[-0.05,  0.40, -0.05,  0.40],[-0.75,  1.20, -0.75,  1.20],[-1.50,  1.75, -1.50,  1.75],[-0.05,  0.40, -0.05,  0.40],[-0.75,  1.20, -0.75,  1.20],[-1.50,  1.75, -1.50,  1.75],[-0.05,  0.40, -0.05,  0.40],[-0.75,  1.20, -0.75,  1.20],[-1.50,  1.75, -1.50,  1.75],[-0.05,  0.40, -0.05,  0.40]]]))

Pytorch中torch.repeat()函数解析相关推荐

  1. Pytorch中torch.argmax()函数解析

    一. torch.argmax()函数解析 1. 官网链接 torch.argmax(),如下图所示: 2. torch.argmax(input)函数解析 torch.argmax(input) → ...

  2. PyTorch中torch.norm函数详解

    torch.norm() 是 PyTorch 中的一个函数,用于计算输入张量沿指定维度的范数.具体而言,当给定一个输入张量 x 和一个整数 p 时,torch.norm(x, p) 将返回输入张量 x ...

  3. pytorch中torch.cholesky()函数的使用

    1. 函数介绍: 功能:计算对称正定矩阵的Cholesky分解.A 或对于成批的对称正定矩阵.如果 upper 为 True ,则返回的矩阵 U 为上三角,分解形式为:A=U^TU如果 upper 为 ...

  4. pytorch 中 torch.cat 函数的使用

    1. 字面理解:torch.cat是将两个张量(tensor)拼接在一起,cat是concatnate的意思,即拼接,联系在一起. 2. 例子理解 >>> import torch ...

  5. Pytorch中torch.unsqueeze()和torch.squeeze()函数解析

    一. torch.squeeze()函数解析 1. 官网链接 torch.squeeze(),如下图所示: 2. torch.squeeze()函数解析 torch.squeeze(input, di ...

  6. Pytorch中torch.numel(),torch.shape,torch.size()和torch.reshape()函数解析

    一. torch.numel()函数解析 1. 官网链接 torch.numel(),如下图所示: 2. torch.numel()函数解析 torch.numel(input) → int 返回输入 ...

  7. 关于PyTorch中的register_forward_hook()函数未能执行其中hook函数的问题

    关于PyTorch中的register_forward_hook()函数未能执行其中hook函数的问题 Hook 是 PyTorch 中一个十分有用的特性.利用它,我们可以不必改变网络输入输出的结构, ...

  8. Pytorch中的collate_fn函数用法

    Pytorch中的collate_fn函数用法 官方的解释:   Puts each data field into a tensor with outer dimension batch size ...

  9. PyTorch 中 torch.optim优化器的使用

    一.优化器基本使用方法 建立优化器实例 循环: 清空梯度 向前传播 计算Loss 反向传播 更新参数 示例: from torch import optim input = ..... optimiz ...

最新文章

  1. Windows下安装配置SBT
  2. java 接口 泛型示例,java泛型接口实现示例
  3. Nginx防盗链、访问控制、Nginx解析PHP相关配置、Nginx代理
  4. Linux基础知识一
  5. i18n调用自己参数_Spring Boot :I18N
  6. c# dialogresult 选择文件_C#控件美化之路(12):自定义消息弹出框
  7. 人只会看到他想看的,不想看的视而不见
  8. java淘宝客开发(一)
  9. directsound播放32位float类型的pcm格式音频
  10. PCB负片(PCB Negative)
  11. 如何在html中自动生成条形图,Highcharts 柱形图(柱状图及条形图)之通过HTML表格数据创建的柱状图演示...
  12. 谈谈对springioc的理解
  13. ElasticSearch 之 Linux 安装 ElasticSearch-7.15.2(ELK、IK)
  14. 马尔可夫预测matlab编程,MATLAB马尔科夫链预测法
  15. mp3转换器哪个好?教你两种正确转换音频文件的技巧
  16. 基于SSM+MYSQL写的javaWeb房屋租赁管理系统,包括系统前端和后台,页面美观,功能完善,非常高端的SSM源码
  17. 使用PMML部署机器学习模型
  18. hdu4411(费用流)
  19. matlab多面函数拟合法拟合点gps水准数据 格式,拟合内插论文,关于沿海地区GPS水准模型构建相关参考文献资料-免费论文范文...
  20. call、apply、bind的区别?(面试题-JavaScript部分)

热门文章

  1. 转载:P值(P-value),“差异具有显著性”和“具有显著差异”
  2. 电影订票网站的设计与开发
  3. 以OLE方式建立与Excel连接
  4. 性能测试——基本性能监控系统使用
  5. NMT(神经机器翻译Neural Machine Translation)常用术语
  6. JMeter测试文档
  7. VIC-4.2.d.
  8. 基于python的火车票订票系统的设计与实现_Python实现12306火车票抢票系统
  9. 三菱Q系列伺服速度控制模式
  10. python3去掉空格_python如何去掉空格