torch.cat 和 torch.stack看起来相似但是性质还是不同的

使用python中的list列表收录tensor时,然后将list列表转化成tensor时,会报错。这个时候就要使用torch.stack进行堆叠,转化成tensor。

  • torch.cat()

torch.cat(tensors,dim=0,out=None)→ Tensor
torch.cat()对tensors沿指定维度拼接,但返回的Tensor的维数不会变

import torch
a = torch.rand((2, 3))
b = torch.rand((2, 3))
c = torch.cat((a, b))
a.size(), b.size(), c.size()
(torch.Size([2, 3]), torch.Size([2, 3]), torch.Size([4, 3]))
可以看到c和a、b一样都是二维的。
  • torch.stack()

torch.stack(tensors,dim=0,out=None)→ Tensor
torch.stack()同样是对tensors沿指定维度拼接,但返回的Tensor会多一维

import torch
a = torch.rand((2, 3))
b = torch.rand((2, 3))
c = torch.stack((a, b))
a.size(), b.size(), c.size()
(torch.Size([2, 3]), torch.Size([2, 3]), torch.Size([2, 2, 3]))
可以看到c是三维的,比a、b多了一维。

torch.cat 和 torch.stack相关推荐

  1. pytorch学习——torch.cat和torch.stack的区别

    合并tensors torch.cat 沿着特定维数连接一系列张量. torch.stack 沿新维度连接一系列张量. torch.cat 在给定维度中连接给定的 seq 个张量序列. 所有张量必须具 ...

  2. 2021.08.22学习内容torch.cat()和torch.stack()函数

    torch.cat()函数 将两个张量(tensor)拼接在一起,cat是concatnate的意思,即拼接,联系在一起. def cat(tensors: List[torch.Tensor], d ...

  3. torch.cat() 和 torch.stack()

    网上很多的示例,都在讨论二维数据(矩阵),单是对于做图像与深度学习的人来说均是三维起步,一般都是4维,下边以4维数据举例 对于pytorch中的堆叠与拼接函数stack与cat,二者还是有一定的不同 ...

  4. 【深度学习】特征融合的重要方法 | 张量的拼接 | torch.cat()函数 | torch.add(函数

    文章目录 前言 一.torch.cat()函数 拼接只存在h,w(高,宽)的图像 二.torch.cat() 拼接存在c,h,w(通道,高,宽)的图像 三.torch.add()使张量对应元素直接相加 ...

  5. Pytorch教程(十九)torch.cat与torch.stack的区别

    这一节,将分析拼接(concatenating)和叠加(stacking)张量的区别. 首先看三个例子,一个是pytorch,一个是TensorFlow,一个是numpy. stack和cat张量之间 ...

  6. pytorch拼接函数:torch.stack()和torch.cat()--详解及例子

    原文链接: https://blog.csdn.net/xinjieyuan/article/details/105205326 https://blog.csdn.net/xinjieyuan/ar ...

  7. torch.stack(), torch.cat()用法详解

    torch.stack(), torch.cat()用法详解 if __name__ == '__main__':import torchx_dat = torch.tensor([[1, 2], [ ...

  8. 多维tensor/numpy array的拼接(np.stack, torch.cat)

    对于numpy array 当有如下情景,我需要4维tensor,(b,c,w,h), 而写的程序是单张图片遍历的,即每张图片(c,w,h),这时,就需要先用一个list,然后每次append,到最后 ...

  9. torch.cat torch.stack

    文章目录 1. torch.cat 在原来的维度上堆叠 2. torch.stack 在新的维度上堆叠 3. 小结: 1. torch.cat 在原来的维度上堆叠 cat是concatnate的意思: ...

最新文章

  1. R语言使用dplyr包基于因子变量(factor)将原dataframe拆分为每一个因子对应的单独数据集dataframe实战
  2. 什么闭包,有什么特性,有什么影响,为什么用闭包
  3. Linux 修改mac 地址方法记录
  4. 初次使用CxImage类库、VC6配置UNICODE的方法
  5. 屏幕实战效果解析:IPS/TFT/AMOLED/SLCD
  6. [机器学习笔记]Note10--支持向量机(SVM)
  7. Bookmarklet
  8. mysql join原理_MySQL的JOIN(二):JOIN原理
  9. Linux C++使用MySQL数据库
  10. Tomcat打开远程调试和jmx远程监控
  11. java 天上掉东西游戏的源代码_【小游戏】前两天的小游戏终于调试成功了。。。。直接源代码...
  12. 基于STM32的STM8脱机编程器源码分享
  13. LCD和LED屏幕的工作原理总结
  14. 用isprime判断是否为素数(函数法)
  15. 微软将推出Win12 没想到吧?
  16. 软件工程师是青春饭吗?
  17. 华为防火墙基础自学系列 | 证书申请方式
  18. 欧几里德算法、拓展欧几里德、中国剩余定理
  19. 利用ESP8266+OLED(I2C)打造智能时钟(网络校时+实时天气+天气预报)
  20. 自动在副屏/虚拟屏启动100%鲜橙汁 | 可用于上班摸鱼

热门文章

  1. 电子学会 C语言 2级 10 、白细胞计数
  2. 游戏历史上十大最成功的人工智能角色
  3. maya2013的vs2010插件配置
  4. 【一些回忆】2022.02.26-2023.02.26 一个普通男孩的365天
  5. 美工实战数据库设计——图书管理系统
  6. 【盛派周三分享-2019.2.20】开放分享内容,本期主题:《SCF、DDD及相关架构思想讨论》...
  7. 创建自己的Maven库
  8. 最实用的chrome插件——CSDN开发助手
  9. 比起渣,女人更不接受锉男?!
  10. 医用RFID腕带的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告