您现在的位置是:首页 >学无止境 >【pytorch | bug | 版本不兼容】:RuntimeError: Expected 2D (unbatched) or 3D (batched) input to conv1d, but g网站首页学无止境

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

非妃是公主 2024-06-04 10:27:49
简介【pytorch | bug | 版本不兼容】:RuntimeError: Expected 2D (unbatched) or 3D (batched) input to conv1d, but g

在这里插入图片描述

作者:非妃是公主
专栏:《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 ↩︎

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。