您现在的位置是:首页 >学无止境 >【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
作者:非妃是公主
专栏:《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种:
- 重构代码;
- 配置老版本的环境
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,应该是向后兼容的,至于如何查看 GPU
的 cuda
版本,请您继续往下看),如下:
关于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