torch.cat的参数dim到底是在哪个维度拼接

2023-11-06

如果将两个维度为 n * c * h * w 进行拼接,如果指定dim为以下值

  • dim = 0, 拼接后维度为 2n * c * h * w
  • dim = 1, 拼接后维度为 n * 2c * h * w
  • dim = 2,拼接后维度为 n * c * 2h * w
  • dim = 3,拼接后维度为 n * c * h * 2w

即 dim = i 就表示在第 i 维度度进行拼接,此时除第 i 维度数可以不同外, 其他维度必须相同, 否则无法拼接。

测试1:

x1 = torch.rand((1, 16, 32, 32))
y1 = torch.rand((1, 32, 32, 32))
  1. 在 dim = 0 拼接
out0 = torch.cat((x1, y1), dim = 0)

报错:RuntimeError: Sizes of tensors must match except in dimension 0. Got 16 and 32 in dimension 1 (The offending index is 1)
即 x1, x2 在其他维度不相等(x1(16, 32, 32),x2(32, 32, 32))
2. 在 dim = 1 拼接

out1 = torch.cat((x1, y1), dim = 1)
print(out1.size())

输出: torch.Size([1, 48, 32, 32]),即在dim = 1 上拼接后为 16 + 32 = 48
同理,在dim = 2 或者 dim = 3 维度拼接都会出错

测试1:测试两个维度一模一样的张量

in_put1 = torch.rand((1, 64, 8, 8))
in_put2 = torch.rand((1, 64, 8, 8))
out0 = torch.cat((in_put1, in_put2), dim = 0)
out1 = torch.cat((in_put1, in_put2), dim = 1)
out2 = torch.cat((in_put1, in_put2), dim = 2)
out3 = torch.cat((in_put1, in_put2), dim = 3)

我们的预期结果当然是
out0: (2, 64, 8, 8)
out1: (1, 128, 8, 8)
out2: (1, 64, 16, 6)
out2: (1, 64, 8, 16)
查看打印结果的确如此:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

torch.cat的参数dim到底是在哪个维度拼接 的相关文章

  • 使用Python开发Web应用程序

    我一直在用 python 做一些工作 但这都是针对独立应用程序的 我很想知道 python 的任何分支是否支持 Web 开发 有人还会建议一个好的教程或网站吗 我可以从中学习一些使用 python 进行 Web 开发的基础知识 既然大家都说
  • Python BigQuery 存储。并行读取多个流

    我有以下玩具代码 import pandas as pd from google cloud import bigquery storage v1beta1 import os import google auth os environ G
  • Pycharm Python 控制台不打印输出

    我有一个从 Pycharm python 控制台调用的函数 但没有显示输出 In 2 def problem1 6 for i in range 1 101 2 print i end In 3 problem1 6 In 4 另一方面 像
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • 使用 Pycharm 在 Windows 下启动应用程序时出现 UnicodeDecodeError

    问题是当我尝试启动应用程序 app py 时 我收到以下错误 UnicodeDecodeError utf 8 编解码器无法解码位置 5 中的字节 0xb3 起始字节无效 整个文件app py coding utf 8 from flask
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • ExpectedFailure 被计为错误而不是通过

    我在用着expectedFailure因为有一个我想记录的错误 我现在无法修复 但想将来再回来解决 我的理解expectedFailure是它会将测试计为通过 但在摘要中表示预期失败的数量为 x 类似于它如何处理跳过的 tets 但是 当我
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • 使用基于正则表达式的部分匹配来选择 Pandas 数据帧的子数据帧

    我有一个 Pandas 数据框 它有两列 一列 进程参数 列 包含字符串 另一列 值 列 包含相应的浮点值 我需要过滤出部分匹配列 过程参数 中的一组键的子数据帧 并提取与这些键匹配的数据帧的两列 df pd DataFrame Proce
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像

随机推荐

  • 【报错】/lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29‘ not found

    一 报错如下 lib x86 64 linux gnu libm so 6 version GLIBC 2 29 not found 二 解决方法 1 cd到指定路径 cd usr local 2 下载wget http ftp gnu o
  • 计算机中程序一定要调入主存储器中才能运行,计算机1-3章

    1 课程名称 大学计算机基础 2 适用专业 非计算机类各专业 3 选用教材 大学计算机基础 陈本辉 杨锦伟 主编 北京师范大学出版社 2014年9月第1版 一 判断题 1 计算机常用的输入设备为键盘 鼠标 常用的输出设备有显示器 打印机 2
  • SpringBoot整合Nacos自动刷新配置

    目的 Nacos作为SpringBoot服务的注册中心和配置中心 在NacosServer中修改配置文件 在SpringBoot不重启的情况下 获取到修改的内容 本例将在配置文件中配置一个 cml age 100 的配置项 程序中编写一个方
  • Kali系统目录结构介绍2021

    Kali系统目录结构介绍 登陆kali后 打开终端 输入以下命令 ls all 你会看到如下图所示的结构 树状结构 以下是对这些目录的解释 bin bin是Binary的缩写 这个目录存放着最经常使用的命令 boot 这里存放的是启动Lin
  • Leetcode239.滑动窗口最大值——双端队列

    文章目录 引入 本题解法 引入 本题 看起来十分的简单 给定一个数组 nums 有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧 你只可以看到在滑动窗口内的 k 个数字 滑动窗口每次只向右移动一位 返回滑动窗口中的最大值 示例
  • 计网习题——第三章

    R1 假定网络层提供了下列服务 在源主机中的网络层接受最大长度1200字节和来自运输层的目的主机地址的报文段 网络层则保证将该报文段交付给位于目的主机的运输层 假定在目的主机上能够运行许多网络应用进程 a 设计可能最简单的运输层协议 该协议
  • 开源物联网平台ThingsBoard的安装

    ThingsBoard是一个开源平台 功能强大 性能稳定 用于收集和可视化物联网设备的数据 可以将来自任意数量设备的数据发送到云服务器 在云服务器中可以通过可自定义的仪表板查看或共享 ThingsBoard相关概念 租户tenant 拥有或
  • SQLi-Labs 学习笔记(Less 51-65)

    点击打开链接 Less 51 本关的Sql语句为 plain view plain copy sql SELECT FROM users ORDER BY id 因为此处用的是执行多个针对数据库的查询函数 mysqli multi quer
  • Linux——(第四章)关机、重启和用户登录注销

    目录 1 关机 重启命令 2 用户的登录和注销 1 关机 重启命令 一般情况很少遇到服务器关机操作 基本语法 sync 将数据由内存同步到硬盘中 该命令在重启和关机前执行 halt 立刻关机 关闭系统 但不断电 poweroff 关机 断电
  • Windows的AppData 文件夹

    文章目录 前言 AppData 文件夹是什么 如何查看 AppData 文件夹 AppData 文件夹的应用 有些软件为什么安装到AppData而不是Program Files AppData文件可以删除吗 可以删除的文件 其他常识文件 前
  • 知乎广告效果怎么样?有哪些优势呢?

    随着移动互联网的不断发展 在当下流量越来越贵的背景下 知乎平台以其独特的优势 特别失在内容营销方面独树一帜 相比较其它平台有着明显的优势 主要体现在 1 转化率高 因为知乎作为国内领先的互动问答平台 很多用户是因为有问题 上知乎找解决方案的
  • web 前后台数据交互的方式

    做web开发 很重要的一个环节就是前后台的数据的交互 数据从页面提交到contoller层 数据从controler层传送到jsp页面来显示 这2个过程中数据具体是如何来传送的 是本节讲解的内容 首先说一下数据如何从后台的contorlle
  • ubuntu22.04.1设置root登陆

    一 设置root密码 sudo passwd root 输入自己的超级用户密码 设置root账户密码 二 设置系统登陆界面 1 su root 2 gedit etc pam d gdm autologin 在弹出窗口中找到 auth re
  • numpy.argsort()函数参数以及案例问题

    参考博客网址是 numpy argsort函数 summer2day的博客 CSDN博客 argsort函数numpy argsort a axis 1 kind quicksort order None 返回的是数组值从小到大的索引值 参
  • JAVA获取部门人员树

    直接上代码 无需多言 主要还是递归 实体类 Data ApiModel NoArgsConstructor public class TreeDept implements Serializable type 0 表示是部门 type 1
  • 一个好用的在线RSS阅读器

    最近用国外IP访问有道阅读貌似有问题 于是找了一些替代品尝试 http reader aol com 这个和Google Reader最相似 不过导入有道阅读的OPML总是不成功 http www inoreader com 这个也相当好
  • Debian 10 安装网络yum源

    Debian 10 安装网络yum源 实验环境一台最小化Debian10 IP地址是192 168 10 1 24 还需要一张外网的网卡 配置网络 vim etc network interfaces 编辑网络配置文件 auto ens37
  • Python提取评论(使用pycharm+Python)

    一 安装调用所要用到的库函数 import requests from bs4 import BeautifulSoup 二 自定义根据每页影评的url爬取影评的方法 1 请求url def getData url 三 请求头为字典格式 h
  • java图片转base64注意事项

    java转base64有两点需要注意的地方 在window操作系统中 图片转换为base64 在base64的字符串中会有默认换行 这就破坏了json格式 所以这里需要做一下处理 除此之外 在java转base64时 会缺少base64字符
  • torch.cat的参数dim到底是在哪个维度拼接

    如果将两个维度为 n c h w 进行拼接 如果指定dim为以下值 dim 0 拼接后维度为 2n c h w dim 1 拼接后维度为 n 2c h w dim 2 拼接后维度为 n c 2h w dim 3 拼接后维度为 n c h 2