[PyTorch] 拼接多个tensor:torch.cat((A,B),axis)
注:参考博客Pytorch中的torch.cat()函数。本人在其基础上增加了更为详细的解释。
torch.cat((A,B),axis)
是对A
, B
两个tensor
进行拼接。
参数axis指定拼接的方式。axis=0
为按行拼接;axis=1
为按列拼接。
拼接的时候把待拼接的tensor
视作整体。(注意在示例中理解这句话)
import torch# 初始化三个 tensor
A=torch.ones(2,3) #2x3的张量(矩阵)
# tensor([[ 1., 1., 1.],
# [ 1., 1., 1.]])
B=2*torch.ones(4,3) #4x3的张量(矩阵)
# tensor([[ 2., 2., 2.],
# [ 2., 2., 2.],
# [ 2., 2., 2.],
# [ 2., 2., 2.]])
D=2*torch.ones(2,4) # 2x4的张量(矩阵)
# tensor([[ 2., 2., 2., 2.],
# [ 2., 2., 2., 2.],# 按维数0(行)拼接 A 和 B
C=torch.cat((A,B),0)
# tensor([[ 1., 1., 1.],
# [ 1., 1., 1.],
# [ 2., 2., 2.],
# [ 2., 2., 2.],
# [ 2., 2., 2.],
# [ 2., 2., 2.]])
print(C.shape)
# torch.Size([6, 3])# 按维数1(列)拼接 A 和 D
C=torch.cat((A,D),1)
# tensor([[ 1., 1., 1., 2., 2., 2., 2.],
# [ 1., 1., 1., 2., 2., 2., 2.]])
print(C.shape)
# torch.Size([2, 7])
另外,torch.cat((A,B),axis)
还能把list
中的tensor
拼接起来。
import torchx = torch.Tensor([1, 2, 3])
x = x.unsqueeze(1)
x2 = torch.cat( [ x*2 for i in range (1,4) ], 1 )
# tensor([[2., 2., 2.],
# [4., 4., 4.],
# [6., 6., 6.]])
x = torch.Tensor([1, 2, 3])
生成的x
的shape
为torch.Size([3])
,我们需要用x = x.unsqueeze(1)
为x
增加第二个维度,使其变为二维的tensor
:torch.Size([3, 1])
。
关于升维函数 x.unsqueeze(axis)
和降维函数 x.unsqueeze(axis)
的详细说明,可以去我的另一篇博客增加维度或者减少维度 ——a.squeeze(axis) 和 a.unsqueeze(axis)
torch.cat( [ x*2 for i in range (1,4) ], 1 )
先生成了一个包含 3 个tensor
的list
,然后对list
中的元素按列拼接(axis=1
)。
关于range这个基本的函数,见本人的另一篇博客创建一个整数列表—— range()
故最后的结果为:
# tensor([[2., 2., 2.],
# [4., 4., 4.],
# [6., 6., 6.]])
[PyTorch] 拼接多个tensor:torch.cat((A,B),axis)相关推荐
- PyTorch基础(五)----- torch.cat()方法
cat是concatnate的缩写,concatnate的含义拼接,深度学习模型中最为常见的是通道拼接. 一.普通用法 dim = 1:表示将张量A.B按照维数1进行拼接,换句话说,就是按照列进行拼接 ...
- torch.cat()函数的官方解释,详解以及例子
可以直接看最下面的例子,再回头看前面的解释,就很明白了. 在pytorch中,常见的拼接函数主要是两个,分别是: stack() cat() 一般torch.cat()是为了把多个tensor进行拼接 ...
- torch.cat 和 torch.stack
torch.cat 和 torch.stack看起来相似但是性质还是不同的 使用python中的list列表收录tensor时,然后将list列表转化成tensor时,会报错.这个时候就要使用torc ...
- pytorch拼接函数:torch.stack()和torch.cat()--详解及例子
原文链接: https://blog.csdn.net/xinjieyuan/article/details/105205326 https://blog.csdn.net/xinjieyuan/ar ...
- 【PyTorch】torch.cat==>张量拼接,在图像的应用上可以有效利用原始图像结构信息
1. 字面理解:torch.cat是将两个张量(tensor)拼接在一起,cat 是 concatenate 的意思,即拼接,联系在一起. 使用torch.cat((A,B),dim)时,除拼接维数d ...
- 多维tensor/numpy array的拼接(np.stack, torch.cat)
对于numpy array 当有如下情景,我需要4维tensor,(b,c,w,h), 而写的程序是单张图片遍历的,即每张图片(c,w,h),这时,就需要先用一个list,然后每次append,到最后 ...
- PyTorch的torch.cat
字面理解:torch.cat是将两个张量(tensor)拼接在一起,cat是concatnate的意思,即拼接,联系在一起. 例子理解 import torch A=torch.ones(2,3) # ...
- pytorch 中 torch.cat 函数的使用
1. 字面理解:torch.cat是将两个张量(tensor)拼接在一起,cat是concatnate的意思,即拼接,联系在一起. 2. 例子理解 >>> import torch ...
- torch的拼接函数_Pytorch中的torch.cat()函数
cat( )的用法 按维数0拼接(竖着拼) C = torch.cat( (A,B),0 ) 按维数1拼接(横着拼) C = torch.cat( (A,B),1 ) 按维数0拼接 A=torch.o ...
最新文章
- [流水账]毕业?工作?
- 7. Vulnerability exploitation tools (漏洞利用工具 11个)
- ElasticSearch 从安装开始_01
- spark学习-Spark算子Transformations和Action使用大全(Transformations章(二))
- 简单三步,使用 Docker 搭建一个多端同步网盘!
- Java常用算法二:分治法
- InvalidClassException
- Atitit 泛型的知识点 目录 1. 为什么需要泛型 why	2 2. 定义分类 what	2 2.1. 编辑类型参数	2 2.2. 模板	2 2.3. 简单理解 占位符 代替object、	3
- 用OpenStack构建南方电网广东公司能源云
- 我的世界高亮显示服务器,waila(我的世界高亮显示没了)
- PDM,读《电商产品经理宝典:电商后台系统产品逻辑全解析》
- sony z及泛泰a870 安装optware记录
- js调用Python函数
- 关于position: sticky的简单用法
- 花儿还有重开日,人生没有再少年.
- App Store评论优化,让你的APP评论上涨
- 中公教育12月04日内外盘分析
- fx3u4ad一adp说明书_三菱PLC模块FX3U-4AD与FX3U-4AD-ADP的区别
- 淘宝、拼多多、京东等购物平台的优惠券公众号免费搭建持续更新
- 带你科学了解NAD是什么?NAD+是什么东西?
热门文章
- 2020最常用的8个代码编辑器推荐
- 百度地图api vue集成模板收录
- iview关闭抽屉弹层时清空Select弹框高亮样式
- hbase1.1.1 连接集群_HBase-1.2.1集群搭建
- java 从一个容器获取对象,Java 如何实现从spring容器中获取注入的bean对象
- 工作中JS语法的小整理以及vue小知识的收纳
- 【堆】Leetcode692:前k个高频单词
- 图像全参考客观评价算法比较
- oracle异机复制,oracle冷备份恢复和oracle异机恢复使用方法
- mysql 错误代码:1293