从零开始运行一个深度学习项目02—虚拟环境的建立与项目的运行

写这篇文章的是为了记录入门深度学习中所踩的坑,以便日后复盘。初识机器学习,笔记必有疏漏之处,还望各不吝赐教。

使用工具

PyCharm + Anaconda (PyTorch + CUDA)

所选择的项目

https://github.com/wuzhe71/SCRN

创建虚拟环境

书接前文,我们现在处在“base”环境下,为了运行项目,我们需要创建一个新的虚拟环境(我这里把环境名命名为torch)
conda create -n torch python=3.7
若是提示http错误,可以再尝试几次。

conda evn list可以查看系统中已安装的环境

conda remove -n env_name --all可以删除某个环境

根据它上面的提示,进入torch环境。
conda activate torch

安装PyTorch

打开项目的GitHub地址,然鹅我们发现,项目给的提示少得可怜,一切都需要自己探索。
image

我们可以去官网找PyTorch 0.40+。进入官网,选择顶端的Get Started。
image
这里可以选择我们需要的PyTorch版本,系统版本等信息,然鹅并没有我们想要的PyTorch 0.40+.不用管,我们就装最新的版本,pytorch兼容旧版。(大不了运行不成功,我们再来换版本,反正虚拟环境随便整)
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
PS: 没有英伟达GPU就装CPU版本(报错解决方法https://blog.csdn.net/dujuancao11/article/details/114006234)
这个过程会有点缓慢。

Clone项目并运行

把项目clone到本地并拖入PyCharm中,不用理会各种报错,点击右下角,选择添加解释器:
image
选择conda环境-->已存在环境-->选择解释器位置(需要选择到虚拟环境下的python.exe)
image
等待下方框架加载、文件索引。

找到test_SCRN.py文件,右键运行:
image
这时运行报错,不要惊慌,我们接下来就解决报错问题。

报错分析并解决

每次报错我们只需要看最后一行错误信息即可,我们可以点击链接文件,定位到报错文件。

复制最后一行报错信息,例如ModuleNotFoundError: No module named 'PIL'进行谷歌百度搜索,本文仅作参考。

ModuleNotFoundError: No module named 'scipy'

在控制台torch虚拟环境中运行conda install scipy

ModuleNotFoundError: No module named 'PIL'

在控制台torch虚拟环境中运行pip install pillow

ModuleNotFoundError: No module named 'torchvision'

注意 这里的torchvision要和pytorch版本对应
image
解决方案pip install torchvision==0.2.2
如果已经安装了别的版本 可以用pip uninstall torchvision卸载

FileNotFoundError: [Errno 2] No such file or directory: './model/model.pth'

去GitHub下载test数据集,放在model目录下

FileNotFoundError: [WinError 3] 系统找不到指定的路径。: '/backup/materials/Dataset/SalientObject/dataset/ECSSD/images/'

image

根据报错添加这两个文件夹,在test_SCRN.py第18行做如下修改
image

/ 代表根目录下的路径,例如C:/
./ 代表当前文件下的路径,例如C:\Users\wickyan\PycharmProjects\SCRN
../ 代表上一级目录,例如C:\Users\wickyan\PycharmProjects

AttributeError: module 'scipy.misc' has no attribute 'imsave'

Python 3中的scipy库/模块中imsave(),imread()等方法在新版本(scipy 1.4.1)中被弃用了,降版本(手动安装scipy 1.2.1或更低版本)

conda uninstall scipy
conda install scipy==1.2.1

testing运行成功

有两个警告不用管
image

training运行

和testing一样的步骤,不过会报显存、内存不足:
imageimage

至此,项目运行成功,下面我们将阅读论文,读懂代码。

下一曲就要开始了!

posted @ 2021-07-08 16:21  wickyan  阅读(1783)  评论(5)    收藏  举报