RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0—问题分析
声明: 这里仅仅提供一个思路,暂时没有绝对正确通用的解决方案
作者:{ 墨理 }
感谢通过私信、评论交流,协力探讨解决问题的同学 UP 、Penser
文章目录
- 探讨的 pytorch 报错信息如下
- 分析
- 欢迎补充
探讨的 pytorch 报错信息如下
RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0
探讨结论:
分析
Sizes of tensors dimension 说明 错误的发生是因为 tensors 的维度 不一致;
我的 第一反应是检查数据是不是混入非 3 通道的 数据;
但是呢正确做法是
- 情况一:
输入 报错前后 数据变量 的 shape 和 size 来观察 ,根据经验往往会发现 某个tensor 数据 只有 3个维度 ,而其它是 4个 维度 ;
这种情况,需要 给 该 tensor expand 一个 维度;会用到 pytorch 张量 维度扩充 的 方法;
- 情况二:[ 2021-1-12 ]
batchsize 需要设置 为 1 ;
这种情况,其实一个良好的代码是不应该有 batchsize 大小限制的,只能是 1 ,那岂不是很扯;
然而我们下午就很不巧因为这个问题探讨了很久,结果发现 batchsize 设置 为 1 ,这个错误就消失了;
- 情况三:[ 2021-11-12 补充 ]
裁剪修正,使得训练数据集和目标或者最终所需要对比配对的数据集图像的尺寸一致
这位小伙伴在这篇博客下进行的交流,一周后,给出的解决方法截图如下
多阶段渐进式图像恢复 | 去雨、去噪、去模糊 | 有效教程(附源码)|【❤️CVPR 2021❤️】
因为大家所做实验会是不同研究方向,数据集也未必一致,因此解决思路未必通用
按照逻辑来说,目前最终归纳 几种 尝试 解决方法如下:
- 裁剪修正,使得输入数据集和目标或者最终所需要对比配对的数据集图像的尺寸一致 【这种方式理应首先考虑】
- 给 tensor 扩充 为对应维度
- 检测是否混有单通道的数据
- 尝试 batchsize 设置 为 1 ,看能否解决【这种属于无奈之举】
这是目前已知的可能解决该问题的经验之谈,其它方法 如确实能够解决问题,欢迎补充;
欢迎补充
各位大佬,如能解决,欢迎评论区补充你的解决方案;
RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0—问题分析相关推荐
- Pytorch踩坑: RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0.
报错信息: RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0. Got 186 a ...
- pytorch dataload 出错:: invalid argument 0: Sizes of tensors must match except in dimension 0
错误信息:"RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0. Got ...
- invalid argument 0: Sizes of tensors must match except in dimension 0. Got 1
invalid argument 0: Sizes of tensors must match except in dimension 0. Got 1 原因:dataloader 需要的数据维度是一 ...
- pytorch:RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0
数据加载错误导致 可能像https://blog.csdn.net/weixin_41278720/article/details/84586734一样的问题,但是这里没问题 我又查看了我的trans ...
- RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0. Got 3 and 2 ...
两种可能: 一:transforms没有把数据集中的图片转换成想要的尺寸大小,如Resnet等网络输入需要224x224大小的图像,在Resize时,不能用 transforms.Resize(224 ...
- pytorch报错: invalid argument 0: Sizes of tensors must match except in dimension 0.
这个问题是在dataloader遇到的,网上一般是数据的维度不同,但我这里其实是最后一份数据和之前的数据比数量不足,所以凑不够一个batch,所以我的做法是加入drop_last=True意思是如果数 ...
- RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 1.
最近在修改模型不支持的算子后,由于对模型的效果产生了影响,所以需要进行微调训练,但是训练的时候报错了,如下: File "/home/xxxxxxx/EdgeNets/nn_layers/e ...
- Pytorch_Geometric(PyG)使用DataLoader报错RuntimeError: Sizes of tensors must match except in dimension 0.
使用Pytorch_Geometric(PyG)时构建DataLoader,从DataLoader获取样本Batch时报错:RuntimeError: Sizes of tensors must ma ...
- pytorch:data读取出错:RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension
在使用Dataloader读取数据的时候,使用batch_size=1不会出现这个问题.当batch_size>1时, 默认将会使用torch.stack()为你生成一个[batch,x, x, ...
最新文章
- Maven坐标和依赖(三)
- Referenced file contains errors (http://www.springframework.org/schema...错误--转载
- java dbtype_java 动态操作数据库
- java开发环境搭建 pdf_01搭建java web开发环境.pdf
- 前端学习(3008):vue+element今日头条管理--登录中的loding
- [Leedcode][JAVA][第69题][x的平方根][二分查找][数学]
- caffe使用ctrl-c不能保存模型
- 双极结型三极管及放大电路基础
- Oracle管理权限和角色
- JAVA定时器ScheduledExecutorService中,scheduleAtFixedRate和scheduleWithFixedDelay的区别
- 代码笔记——Toast显示文本,图片,图文
- JavaScript怎样读取本地Excel文件
- 大芒果mysql下载_魔兽世界大芒果单机版下载|单机魔兽世界大芒果下载v3.3.5 安卓版_ 2265游戏网...
- Koo叔说Shader—Shader简介
- [AndroidStudio]Building Apps with Over 64K Methods
- Word如何插入图片?最全方法总结(2023新版)
- ffmpeg 多视频 画中画
- 腾讯云账号注册方法介绍
- Unity开发笔记(五)—— 制作第四个小游戏《坦克大战》
- Power bi 超市运营数据分析
热门文章
- electron-edge 打印助手
- 编译原理(8):代码优化
- Access 打开mdb文件时需要密码,打开每一个mdb文件都需要。
- 南大通用数据库-Gbase-8a-学习-18-CAPI
- 为何杂散测试需要使用滤波器【转】
- 【白板动画制作软件】万彩手影大师教程 | 视频比例
- 语音芯片之字符串转语音
- IT职业教育(13)什么是职业教育?
- 字节跳动智创音视频团队拿下 NTIRE2022 ESR 挑战赛主赛道冠军
- 如何将windows xp系统下的outlook express6.0的邮件,帐号及通迅录导入Office Outlook xp/2003/2007中