在复现代码时的环境配置

前言

想要复现代码,安装好环境是第一步,以下记录我安装时遇到的问题和解决办法,以便之后复习,若有错误欢迎指正。


安装pytorch和cuda

这两个的版本一定要对应,可以在这个网站查看配置 https://pytorch.org/get-started/previous-versions/
对于安装torchvision,可以先安装完pytorch和cuda之后再用以下代码安装:

conda install torchvision -c pytorch

anaconda会自动根据pytorch的版本帮你选择对应的torchvision,这很方便。


scikit-learn的问题

如果直接安装scikit-learn,不考虑版本问题,点一下安装,一时爽,然后异常就在后面等着你。

'ModuleNotFoundError: No module named ‘sklearn.utils.linear_assignment_’

这是因为scikit-learn的版本问题,在新版中,linear_assignment被弃用,官方将scipy.optimize.linear_sum_assignment代替了sklearn.utils.linear_assignment_。

解决办法: 官方在0.23版本弃用linear_assignment,我直接选择降低版本,下载低版本的scikit-learn。

用pycharm的python解释器界面更换scikit-learn版本。
在这里插入图片描述
双击scikit-learn项目栏,进入以下界面,选择要安装的版本后,点安装软件包。
在这里插入图片描述


验证安装的是否成功

进入anaconda控制台,先激活自己的虚拟环境(activate+环境名),输入 python,之后输入 import torch,如果没有报错,意味着 pytorch 已经顺利安装了,接下来输入 torch.cuda.is_available(),如果是 True,意味着可以使用 GPU训练,如果是 False,意味着只能使用CPU,以此来检验cuda和pytorch安装是否成功。


运行代码出现‘RuntimeError: CuDNN error: CUDNN_STATUS_SUCCESS’

一般可能是cuda和CuDNN版本问题,显卡可以用的最低cuda版本和你的cuda要对上号,用‘nvidia-smi’可以查看当前支持的CUDA最高版本(注意:用‘nvcc -V’才能看你当前系统默认使用的cuda版本)。
这是nvcc -V指令:
这是nvcc -V指令
这是nvidia-smi指令:
在这里插入图片描述

ps:我之前在3080上装的cuda 9.0,在读数据的时候异常慢,但换成2080后,读取速度就正常了。所以要注意你的显卡可以支持的最低cuda版本。

猜你喜欢

转载自blog.csdn.net/OnePiece_zym/article/details/130430334