PyTorch中的torch.cat简单介绍

 更新时间:2022年03月17日 11:09:39   作者:DaYinYi  
这篇文章主要介绍了PyTorch中的torch.cat,包torch包含了多维疑是的数据结构及基于其上的多种数学操作,包含了多维张量的数据结构以及基于其上的多种数学运算,更多相关资料 需要的小伙伴可以参考一下

1.toych简单介绍

torch包含了多维疑是的数据结构及基于其上的多种数学操作。

torch包含了多维张量的数据结构以及基于其上的多种数学运算。此外,它也提供了多种实用工具,其中一些可以更有效地对张量和任意类型进行序列化的工具。

它具有CUDA的对应实现,可以在NVIDIA GPU上进行张量运算(计算能力>=3.0)

2. 张量Tensors

torch.is_tensor(obj):如果obj是一个pytorch张量,则返回True

torch.is_storage(obj):如果obj是一个pytorch storage对象,则返回True

torch.numel(input):返回input张量中的元素个数。

3.torch.cat

a = torch.ones([1,2])
 
b = torch.ones([1,2])
 
z = torch.cat([a,b],1)
 
a
Out[47]: tensor([[1., 1., 1., 1.]])
 
a
Out[48]: tensor([[1., 1.]])

如果第二个参数是1,torch.cat就是将a,b 按列放在一起,大小为torch.Size([1,4])。如果第二个参数是0,则按行

行放在一起,大小为 torch.Size([2, 2]) 。

字面理解:torch.cat是将两个张量(tensor)拼接在一起,cat是concatenate的意思,即拼接,联系在一起。

例子理解:

import torch
A = torch.ones(2,3)
A
#tensor([[1., 1., 1.],
#        [1., 1., 1.]])
B=2*torch.ones(4,3)
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.]])
D = 2*torch.ones(2,4)
M = torch.cat((A,D),1)  # 按维数1(列)拼接
M
#tensor([[1., 1., 1., 2., 2., 2., 2.],
#        [1., 1., 1., 2., 2., 2., 2.]])
M.size()
#torch.Size([2, 7])

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

到此这篇关于PyTorch中的torch.cat的文章就介绍到这了,更多相关torch.cat内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python中使用xlrd、xlwt操作excel表格详解

    python中使用xlrd、xlwt操作excel表格详解

    这篇文章主要介绍了python中使用xlrd、xlwt操作excel表格详解,python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库,需要的朋友可以参考下
    2015-01-01
  • matplotlib绘制多个子图(subplot)的方法

    matplotlib绘制多个子图(subplot)的方法

    这篇文章主要介绍了matplotlib绘制多个子图(subplot)的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • python读取excel表格生成erlang数据

    python读取excel表格生成erlang数据

    这篇文章主要为大家详细介绍了python读取excel表格生成erlang数据,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Python使用reportlab模块生成PDF格式的文档

    Python使用reportlab模块生成PDF格式的文档

    今天小编就为大家分享一篇关于Python使用reportlab模块生成PDF格式的文档,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Python面向对象编程之封装的艺术你了解吗

    Python面向对象编程之封装的艺术你了解吗

    这篇文章主要为大家详细介绍了Python面向对象编程之封装的艺术,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • 解决Python3错误:SyntaxError: unexpected EOF while parsin

    解决Python3错误:SyntaxError: unexpected EOF while

    这篇文章主要介绍了解决Python3错误:SyntaxError: unexpected EOF while parsin问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • 利用Pandas读取某列某行数据之loc和iloc用法总结

    利用Pandas读取某列某行数据之loc和iloc用法总结

    loc是location的意思,和iloc中i的意思是指integer,所以它只接受整数作为参数,下面这篇文章主要给大家介绍了关于利用Pandas读取某列某行数据之loc和iloc用法的相关资料,需要的朋友可以参考下
    2022-03-03
  • 最炫Python烟花代码全解析

    最炫Python烟花代码全解析

    2022虎年新年即将来临,小编为大家带来了一个利用Python编写的虎年烟花特效,堪称全网最绚烂,文中的示例代码简洁易懂,感兴趣的同学可以动手试一试
    2022-02-02
  • Python关于__name__属性的含义和作用详解

    Python关于__name__属性的含义和作用详解

    在本篇文章里小编给大家分享的是关于Python关于__name__属性的含义和作用知识点,需要的朋友们可以参考下。
    2020-02-02
  • Python入门教程之运算符重载详解

    Python入门教程之运算符重载详解

    运算符重载意味着赋予超出其预定义的操作含义的扩展含义。例如运算符 + 用于添加两个整数以及连接两个字符串和合并两个列表。本文将通过示例带大家详细了解Python的运算符重载,感兴趣的可以了解一下
    2022-09-09

最新评论