【pytorch | bug | 版本不兼容】:RuntimeError: Expected 2D (unbatched) or 3D (batched) input to conv1d, but g

文章讲述了在使用PyTorch时遇到的RuntimeError问题,原因是新旧版本不兼容。作者选择了回退到PyTorch1.10版本来解决问题,详细记录了查找错误原因、选择合适CUDA版本、创建虚拟环境以及安装指定版本PyTorch的过程,并验证了问题已成功解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

作者:非妃是公主
专栏:《python学习》《计算机视觉》
博客地址https://blog.csdn.net/myf_666
个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩
在这里插入图片描述

专栏推荐

专栏名称专栏地址
软件工程专栏——软件工程
计算机图形学 专栏——计算机图形学
操作系统专栏——操作系统
软件测试专栏——软件测试
机器学习专栏——机器学习
数据库专栏——数据库
算法专栏——算法

一、报错信息

RuntimeError: Expected 2D (unbatched) or 3D (batched) input to conv1d, but got input of size: [4, 128, 160, 120]

二、原因分析

经过检索发现,这是由于pytorch新版本与老版本之间不兼容导致的1

在这里插入图片描述

因此,按照上面的说法,解决方案有2种:

  1. 重构代码;
  2. 配置老版本的环境 pytorch=1.10

由于在复现论文,对论文的代码并不是很熟悉,因此为了避免节外生枝,果断选择了第2种方式。


三、解决过程

解决过程如下:

首先找到pytorch的官网:https://pytorch.org/get-started/locally/

打开后界面如下(注意,可能会由于网络原因造成网页打不开,需要想一些办法,自行解决吧= =。)

在这里插入图片描述

向下滑,会发现一个自动生成 pip 命令的控件,如下:

在这里插入图片描述

但是它只能生成最新版本的命令,如上图,这并不是我们想要的,我们想要安装 1.10 版本的 pytorch 所以我们点击下图中箭头指向的超链接,安装以前版本的,至少是pytorch1.10版本。

在这里插入图片描述

打开后,界面如下:

在这里插入图片描述

这里面都是pytorch早期版本的一些安装命令了。

往下滑,找到 v1.10 版本,以及 Windows 下的安装命令,同时需要考虑一下自己电脑的cuda版本,我的 cuda 版本是 11.5 的,所以我选择 cuda11.3 的那个指令(因为同为11,应该是向后兼容的,至于如何查看 GPUcuda 版本,请您继续往下看),如下:

在这里插入图片描述

关于cuda版本的选择主要看NVIDIA的控制面板->帮助->系统信息->组件,然后就可以看到了,如下图:

在这里插入图片描述

因此,选择命令如下:

# CUDA 10.2
conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=10.2 -c pytorch

有了安装命令之后,创建虚拟环境,然后运行安装命令就可以了,关于创建虚拟环境的详细步骤可以看我这一篇文章,十分简洁,2分钟就可以搞定:python配置虚拟环境,并在虚拟环境中安装pytorch教程.

在这里插入图片描述

经检验,pytorch环境及cuda都已经配置成功(注:检验方法也在上面链接中有详细说明),如下:

在这里插入图片描述

重新训练模型,发现正常运行,如下:

在这里插入图片描述


the end……

关于pytorch版本不兼容的一个小bug到这里就要结束啦~~到此既是缘分,欢迎您的点赞评论收藏关注我,不迷路,我们下期再见!!

😘😘😘 我是Cherries,一位计算机科班在校大学生,写博客用来记录自己平时的所思所想!
💞💞💞 内容繁杂,又才疏学浅,难免存在错误,欢迎各位大佬的批评指正!
👋👋👋 我们相互交流,共同进步!

:本文由非妃是公主发布于https://blog.csdn.net/myf_666,转载请务必标明原文链接:https://blog.csdn.net/myf_666/article/details/129308874


  1. https://github.com/matthias-k/DeepGaze/issues/3 ↩︎

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cherries Man

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值