PyTorch的torch.cat用法


Posted in Python onJune 28, 2020

1. 字面理解:

torch.cat是将两个张量(tensor)拼接在一起,cat是concatnate的意思,即拼接,联系在一起。

2. 例子理解

>>> import torch
>>> A=torch.ones(2,3) #2x3的张量(矩阵)                   
>>> A
tensor([[ 1., 1., 1.],
    [ 1., 1., 1.]])
>>> B=2*torch.ones(4,3)#4x3的张量(矩阵)                  
>>> B
tensor([[ 2., 2., 2.],
    [ 2., 2., 2.],
    [ 2., 2., 2.],
    [ 2., 2., 2.]])
>>> C=torch.cat((A,B),0)#按维数0(行)拼接
>>> C
tensor([[ 1., 1., 1.],
     [ 1., 1., 1.],
     [ 2., 2., 2.],
     [ 2., 2., 2.],
     [ 2., 2., 2.],
     [ 2., 2., 2.]])
>>> C.size()
torch.Size([6, 3])
>>> D=2*torch.ones(2,4) #2x4的张量(矩阵)
>>> C=torch.cat((A,D),1)#按维数1(列)拼接
>>> C
tensor([[ 1., 1., 1., 2., 2., 2., 2.],
    [ 1., 1., 1., 2., 2., 2., 2.]])
>>> C.size()
torch.Size([2, 7])

上面给出了两个张量A和B,分别是2行3列,4行3列。即他们都是2维张量。因为只有两维,这样在用torch.cat拼接的时候就有两种拼接方式:按行拼接和按列拼接。即所谓的维数0和维数1.

C=torch.cat((A,B),0)就表示按维数0(行)拼接A和B,也就是竖着拼接,A上B下。此时需要注意:列数必须一致,即维数1数值要相同,这里都是3列,方能列对齐。拼接后的C的第0维是两个维数0数值和,即2+4=6.

C=torch.cat((A,B),1)就表示按维数1(列)拼接A和B,也就是横着拼接,A左B右。此时需要注意:行数必须一致,即维数0数值要相同,这里都是2行,方能行对齐。拼接后的C的第1维是两个维数1数值和,即3+4=7.

从2维例子可以看出,使用torch.cat((A,B),dim)时,除拼接维数dim数值可不同外其余维数数值需相同,方能对齐。

3.实例

在深度学习处理图像时,常用的有3通道的RGB彩色图像及单通道的灰度图。张量size为cxhxw,即通道数x图像高度x图像宽度。在用torch.cat拼接两张图像时一般要求图像大小一致而通道数可不一致,即h和w同,c可不同。当然实际有3种拼接方式,另两种好像不常见。比如经典网络结构:U-Net

PyTorch的torch.cat用法

里面用到4次torch.cat,其中copy and crop操作就是通过torch.cat来实现的。可以看到通过上采样(up-conv 2x2)将原始图像h和w变为原来2倍,再和左边直接copy过来的同样h,w的图像拼接。这样做,可以有效利用原始结构信息。

4.总结

使用torch.cat((A,B),dim)时,除拼接维数dim数值可不同外其余维数数值需相同,方能对齐。

补充知识:PyTorch的concat也就是torch.cat实例

我就废话不多说了,大家还是直接看代码吧~

import torch
a = torch.ones([1,2])
b = torch.ones([1,2])
torch.cat([a,b],1)
 1 1 1 1
[torch.FloatTensor of size 1x4]

以上这篇PyTorch的torch.cat用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中subprocess的简单使用示例
Jul 28 Python
Python操作csv文件实例详解
Jul 31 Python
python中WSGI是什么,Python应用WSGI详解
Nov 24 Python
Python3简单实例计算同花的概率代码
Dec 06 Python
Python装饰器的执行过程实例分析
Jun 04 Python
Django model 中设置联合约束和联合索引的方法
Aug 06 Python
Django框架反向解析操作详解
Nov 28 Python
Python调用shell命令常用方法(4种)
May 11 Python
Python Dataframe常见索引方式详解
May 27 Python
关于Theano和Tensorflow多GPU使用问题
Jun 19 Python
python怎么调用自己的函数
Jul 01 Python
python3代码输出嵌套式对象实例详解
Dec 03 Python
使用pytorch 筛选出一定范围的值
Jun 28 #Python
解析python 中/ 和 % 和 //(地板除)
Jun 28 #Python
pytorch 常用函数 max ,eq说明
Jun 28 #Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
Jun 28 #Python
Python turtle库的画笔控制说明
Jun 28 #Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
Jun 28 #Python
python删除指定列或多列单个或多个内容实例
Jun 28 #Python
You might like
汉字转化为拼音(php版)
2006/10/09 PHP
php中批量删除Mysql中相同前缀的数据表的代码
2011/07/01 PHP
一组PHP可逆加密解密算法实例代码
2014/01/21 PHP
CI分页类首页、尾页不显示的解决方法
2016/03/28 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
tangram框架响应式加载图片方法
2013/11/21 Javascript
jQuery中remove()方法用法实例
2014/12/25 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
2015/12/03 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
2016/01/08 Javascript
javascript面向对象程序设计高级特性经典教程(值得收藏)
2016/05/19 Javascript
JS实现漂亮的时间选择框效果
2016/08/20 Javascript
JavaScript html5利用FileReader实现上传功能
2020/03/27 Javascript
js实时监控文本框输入字数的实例代码
2018/01/18 Javascript
Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案
2018/05/15 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
node中的session的具体使用
2018/09/14 Javascript
PHPStorm中如何对nodejs项目进行单元测试详解
2019/02/28 NodeJs
JS/jQuery实现获取时间的方法及常用类完整示例
2019/03/07 jQuery
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
在Chrome DevTools中调试JavaScript的实现
2020/04/07 Javascript
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
phpsir 开发 一个检测百度关键字网站排名的python 程序
2009/09/17 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
python安装twisted的问题解析
2018/08/21 Python
python 实现手机自动拨打电话的方法(通话压力测试)
2019/08/08 Python
python实现上传文件到linux指定目录的方法
2020/01/03 Python
python操作docx写入内容,并控制文本的字体颜色
2020/02/13 Python
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
英格兰橄榄球商店:England Rugby Store
2016/12/17 全球购物
美国顶级水上运动专业店:Marine Products
2018/04/15 全球购物
好的演讲稿开场白
2013/12/30 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
2014年爱国卫生工作总结
2014/11/22 职场文书
2016医师资格考试考生诚信考试承诺书
2016/03/25 职场文书