PyTorch函数torch.cat与torch.stac的区别小结

 更新时间:2023年09月08日 11:19:57   作者:枯木何日可逢春  
Pytorch中常用的两个拼接函数torch.cat() 和 torch.stack(),本文主要介绍了这两个函数的用法加区别,具有一定的参考价值,感兴趣的可以了解一下

一、torch.cat与torch.stack的区别

torch.cat 用于在给定的维度上连接多个张量,它将这些张量沿着指定维度堆叠在一起。

torch.stack 用于在新的维度上堆叠多个张量,它会创建一个新的维度,并将这些张量沿着这个新维度堆叠在一起。

二、torch.cat

Example1:

import torch
tensor1 = torch.tensor([[1, 2], [3, 4]])
tensor2 = torch.tensor([[5, 6], [7, 8]])
result1 = torch.cat((tensor1, tensor2), dim=0)
result2 = torch.cat((tensor1, tensor2), dim=1)
print(result1.shape)
print(result1)
print(result2.shape)
print(result2)
torch.Size([4, 2])
tensor([[1, 2],
        [3, 4],
        [5, 6],
        [7, 8]])
torch.Size([2, 4])
tensor([[1, 2, 5, 6],
        [3, 4, 7, 8]])

三、torch.stack

Example1:

import torch
tensor1 = torch.tensor([1, 2, 3])
tensor2 = torch.tensor([4, 5, 6])
result1 = torch.stack((tensor1, tensor2), dim=0)
result2 = torch.stack((tensor1, tensor2), dim=1)
print(result1.shape)
print(result1)
print(result2.shape)
print(result2)
torch.Size([2, 3])
tensor([[1, 2, 3],
        [4, 5, 6]])
torch.Size([3, 2])
tensor([[1, 4],
        [2, 5],
        [3, 6]])

Example2:

import torch
tensor1 = torch.tensor([[1, 2], [3, 4], [5, 6]])
tensor2 = torch.tensor([[7, 8], [9, 10], [11, 12]])
tensor3 = torch.tensor([[13, 14], [15, 16], [17, 18]])
result1 = torch.stack((tensor1, tensor2, tensor3), dim=0)
result2 = torch.stack((tensor1, tensor2, tensor3), dim=1)
print(result1.shape)
print(result1)
print(result2.shape)
print(result2)
torch.Size([3, 3, 2])
tensor([[[ 1,  2],
         [ 3,  4],
         [ 5,  6]],
        [[ 7,  8],
         [ 9, 10],
         [11, 12]],
        [[13, 14],
         [15, 16],
         [17, 18]]])
torch.Size([3, 3, 2])
tensor([[[ 1,  2],
         [ 7,  8],
         [13, 14]],
        [[ 3,  4],
         [ 9, 10],
         [15, 16]],
        [[ 5,  6],
         [11, 12],
         [17, 18]]])

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

相关文章

  • python网络编程之数据传输UDP实例分析

    python网络编程之数据传输UDP实例分析

    这篇文章主要介绍了python网络编程之数据传输UDP实现方法,实例分析了Python基于UDP协议的数据传输实现方法,需要的朋友可以参考下
    2015-05-05
  • python判断windows系统是32位还是64位的方法

    python判断windows系统是32位还是64位的方法

    这篇文章主要介绍了python判断windows系统是32位还是64位的方法,实例分析了两种解决方法,非常简单实用,需要的朋友可以参考下
    2015-05-05
  • Pycharm技巧之代码跳转该如何回退

    Pycharm技巧之代码跳转该如何回退

    用Pycharm写Python代码有一段时间了,最近发现了一个Pycharm的一个小技巧想分享给大家,下面这篇文章主要给大家介绍了关于Pycharm代码跳转该如何回退的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-07-07
  • 在python中使用正则表达式查找可嵌套字符串组

    在python中使用正则表达式查找可嵌套字符串组

    这篇文章主要介绍了在python中使用正则表达式查找可嵌套字符串组的相关资料,需要的朋友可以参考下
    2017-10-10
  • Python的输出格式化和进制转换介绍

    Python的输出格式化和进制转换介绍

    大家好,本篇文章主要讲的是Python的输出格式化和进制转换介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • Tensorflow的梯度异步更新示例

    Tensorflow的梯度异步更新示例

    今天小编就为大家分享一篇Tensorflow的梯度异步更新示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Anaconda第三方库下载慢的解决方法

    Anaconda第三方库下载慢的解决方法

    本文主要介绍了Anaconda第三方库下载慢的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 使用python实现多维数据降维操作

    使用python实现多维数据降维操作

    今天小编就为大家分享一篇使用python实现多维数据降维操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • python爬虫之代理ip正确使用方法实例

    python爬虫之代理ip正确使用方法实例

    在爬虫的过程中,我们经常会遇见很多网站采取了防爬虫技术,或者说因为自己采集网站信息的强度和采集速度太大,给对方服务器带去了太多的压力,下面这篇文章主要给大家介绍了关于python爬虫之代理ip正确使用方法的相关资料,需要的朋友可以参考下
    2022-07-07
  • Django的models中on_delete参数详解

    Django的models中on_delete参数详解

    这篇文章主要介绍了Django的models中on_delete参数详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07

最新评论