可以直接看最下面的例子,再回头看前面的解释,就很明白了。

pytorch中,常见的拼接函数主要是两个,分别是:

  1. stack()
  2. cat()

一般torch.cat()是为了把多个tensor进行拼接而存在的。实际使用中,和torch.stack()使用场景不同:参考链接torch.stack(),但是本文主要说cat()

torch.cat()python中的内置函数cat(), 在使用和目的上,是没有区别的,区别在于前者操作对象是tensor

1. cat()

函数目的: 在给定维度上对输入的张量序列seq 进行连接操作。

outputs = torch.cat(inputs, dim=?) → Tensor

参数

  • inputs : 待连接的张量序列,可以是任意相同Tensor类型的python 序列
  • dim : 选择的扩维, 必须在0len(inputs[0])之间,沿着此维连接张量序列。

2. 重点

  1. 输入数据必须是序列,序列中数据是任意相同的shape的同类型tensor
  2. 维度不可以超过输入数据的任一个张量的维度

3.举例子

  1. 准备数据,每个的shape都是[2,3]
# x1
x1 = torch.tensor([[11,21,31],[21,31,41]],dtype=torch.int)
x1.shape # torch.Size([2, 3])
# x2
x2 = torch.tensor([[12,22,32],[22,32,42]],dtype=torch.int)
x2.shape  # torch.Size([2, 3])
  1. 合成inputs
'inputs为2个形状为[2 , 3]的矩阵 '
inputs = [x1, x2]
print(inputs)
'打印查看'
[tensor([[11, 21, 31],[21, 31, 41]], dtype=torch.int32),tensor([[12, 22, 32],[22, 32, 42]], dtype=torch.int32)]

3.查看结果, 测试不同的dim拼接结果

In    [1]: torch.cat(inputs, dim=0).shape
Out[1]: torch.Size([4,  3])In    [2]: torch.cat(inputs, dim=1).shape
Out[2]: torch.Size([2, 6])In    [3]: torch.cat(inputs, dim=2).shape
IndexError: Dimension out of range (expected to be in range of [-2, 1], but got 2)

大家可以复制代码运行一下就会发现其中规律了。

总结

通常用来,把torch.stack得到tensor进行拼接而存在的。

torch.cat()函数的官方解释,详解以及例子相关推荐

  1. PHP函数call_user_func和call_user_func_array详解

    今天在群里面,有个叫lewis的在问call_user_func_array的用法,因为之前一直没有用过,也不能说什么,于是看一下手册,发现是这么写的: call_user_func_array (P ...

  2. php。defined,PHP defined()函数的使用图文详解

    PHP defined()函数的使用图文详解 PHP defined() 函数 例子 定义和用法 defined() 函数检查某常量是否存在. 若常量存在,则返回 true,否则返回 false. 语 ...

  3. rtmp官方协议详解

    标准规范学习: rtmp消息结构,包括几个部分: 时戳:4  byte,单位毫秒.超过最大值后会翻转. 长度:消息负载的长度. 类型ID:Type Id 一部分ID范围用于rtmp的控制信令.还有一部 ...

  4. 如何使用指向类的成员函数的指针(详解!)

    原文:如何使用指向类的成员函数的指针(详解!) 另外一篇英文参考:Member Function Pointers and the Fastest Possible C++ Delegates 我们首 ...

  5. Sklearn中predict_proba函数用法及原理详解

    Sklearn中predict_proba函数用法及原理详解(以logistic回归为例) 网上对predict_proba的数学原理解释的太少了,也不明确,特意总结一下,并给出有些不能用该方法的原因 ...

  6. 【 线性回归 Linear-Regression torch模块实现与源码详解 深度学习 Pytorch笔记 B站刘二大人(4/10)】

    torch模块实现与源码详解 深度学习 Pytorch笔记 B站刘二大人 深度学习 Pytorch笔记 B站刘二大人(4/10) 介绍 至此开始,深度学习模型构建的预备知识已经完全准备完毕. 从本章开 ...

  7. 【学习笔记】薛定谔的喵咪Cat—球盒问题(全详解)

    [学习笔记]薛定谔的喵咪Cat-球盒问题(全详解) 传送门:薛定谔的喵咪 \(Luogu-U77460\)(自自上传的题目,数据略水,尤其是 \(opt=9\) ,以后找时间补上) [题目描述] 当一 ...

  8. python scatter参数详解_Python 中 scatter 函数参数及用法详解

    Python 中 scatter 函数参数及用法详解 Python 中 scatter 函数参数及用法详解 这里有新鲜出炉的 Python 教程, 程序狗速度看过来! Python 编程语言 Pyth ...

  9. python实现排序函数_Python排序函数的使用方法详解

    Python排序函数完美体现了Python语言的简洁性,对于List对象,我们可以直接调用sort()函数(这里称为"方法"更合适)来进行排序,而对于其他可迭代对象(如set,di ...

最新文章

  1. OSChina 周六乱弹 ——生日快乐 @落落酱
  2. IsNull和IsEmpty的区别
  3. VS中编译64位程序以及遇到的问题(E0000235)
  4. 同程旅行基于 RocketMQ 高可用架构实践
  5. python并发编程之semaphore(信号量)_浅谈Python并发编程之进程(守护进程、锁、信号量)...
  6. 基于Memcached的Nginx服务器集群session共享
  7. NET Micro FrameworkのTimerクラス攻略
  8. PicGo+码云(gitee)图床环境搭建
  9. 织梦(Dedecms) V5.6 plus/carbuyaction.php 本地文件包含漏洞
  10. 【GIS导论】实验五 缓冲区分析和网络分析
  11. gns3中怎么把服务器虚拟化,GNS3使用详解(gns3如何模拟ids)
  12. python调用数据集mnist_使用MNIST数据集进行分类
  13. 2021-11-13偏最小二乘法应用实例python程序代码
  14. 模拟实现求字符串长度函数strlen
  15. OpenWrt/Wifidog本地化解决方案
  16. 阿里巴巴国际站—产品运营工作台操作指南
  17. 最大公约数用c语言表达,c语言求最大公约数(用c语言编写求最大公约数)
  18. 1067 试密码 (20 分)之测试点4分析
  19. select中选中option的方法
  20. Treasure Island(简单图论题)

热门文章

  1. Currency Exchange (SPFA)
  2. python opencv 利用HSV,YUV(YCbCr)实现皮肤检测与抠图,与磨皮美颜
  3. SpringBoot-数据库连接池(java配置和Yaml配置)
  4. java抽象类实例化_抽象类能实例化吗
  5. 模仿QQ背景为视频的登录页
  6. Android内存优化汇总
  7. 程序逸的Java项目之旅-图书管理系统之数据库设计(1)
  8. 自动摘要生成(一):最大边界相关算法(MMR)
  9. 安卓一键清理内存_安卓的手机内存清理来啦……
  10. SAN存储的局限性相关介绍