环境配置系列:
(一)Ubuntu安装详细教程(从镜像制作到NVIDIA驱动安装全流程)——超详细的图文教程
(二)Ubuntu系统Pytorch环境配置
(三)Windows系统Pytorch环境配置(简易方法安装CUDA和cuDNN)
Ubuntu20.04+GTX 1050(notebook)安装paddlepaddle
配置如下:
因为本文是按照GPU版本的Pytorch,所以要使用GPU。在Windows系统下GPU驱动已经很友好了,基本上是已经安装好了的,所以不再赘述。
miniconda和Anconda一样,只不过更加精简,但是功能不少。我们安装miniconda主要是用它来管理我们的环境,所以miniconda已经够用了。
你有两种方式下载:
剩下的大家可以参考这一篇(比较Windows安装还是比较简单的):windows安装miniconda,该文是采用第一种方式下载的。
首先我们来验证下是否可用?在命令行中直接输入conda
回车,如果看到如图即conda可以正常使用了
假设我们现在有一个任务,我们需要安装特定Pytorch等包,现在我们专门为该任务创建一个环境。
创建新环境命令:conda create -n testEnv python=3.7
(期间会让你输入y表示同意继续),create
表示你要进行创造新环境,-n
即name是你新环境的名字,后面是指定该环境python的版本。比如有的任务需要python3.6有的需要python3.7,根据需要而定
以上是创建好了的,还给你两个提示:
激活环境:conda activate testEnvs
退出环境:conda deactivate
(当然是你在该环境中执行,才能推出该环境)
现在我通过激活命令已经进入到才创建的环境中,可以看到如果你成功进入了目标环境,在命令行头的括号中会表示你现在所处的环境
至此我们创建了一个新环境并进入到了该环境,接下来就如同你以前操作python那样,使用pip等照常使用即可。(新手易犯的错误是,使用这个环境,却在一个环境中使用pip安装库,然后运行代码发现依旧提示没有这个Module
)
在这一步,一般安装教程都是去官网下载安装包然后配置环境变量等,但还有一种我认为简单的方法,就是使用conda自带的安装器。
首先你需要知道的是,当你想安装一个库时,你可以通过pip install name
或conda install name
安装,也就是pip和conda都可以安装库,更多细节可以自行百度。
但是conda是针对环境的包管理器(包括了CUDA和cuDNN环境),而pip是针对python的包管理器
首先我们进入目的环境,然后查询当前环境支持的CUDA,查询命令:
conda search cudatoolkit --info
然后会列举出所有可安装的CUDA版本(一般都只看一个点后的版本)(这里为部分截图,可以看到最新的支持为CUDA11.1和CUDA11.3):
为了让Pytorch和CUDA匹配,去官网看Pytorch版本:
于是我可以选择pytorch1.12+cuda11.3的搭配
于是我们conda命令安装cuda11.3:
conda install cudatoolkit==11.3.1
如法炮制,先搜索支持的cuDNN版本:
conda search cudnn --info
可以看到给出了所有支持的cuDNN已经该cuDNN支持的CUDA版本区间(可能小cudnn版本也支持大版本的CUDA,所以需要浏览所有的支持的CUDA版本)
因为我们安装了cuda11.3,而cudnn8.2.1是支持11.0~11.4的,所以我们安装cudnn8.2.1版本:
conda install ducnn==8.2.1
安装完毕后,我们通过conda list
查看:
可以看到我们已经安装了cudatoolkit和cudnn
至此CUDA和粗DNN已经按照完毕!
首先我们在官网GET STARTED按实际情况选择,
底下会给出安装命令,我们执行:
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113
等待时间较长,耐心等待
如果没有保存正常安装,如下所示:
(除了torch,还有一些其他依赖库会自动安装)
网上大多数是通过torch.cuda.is_availabel()
来验证,但是实践中发现有时该命令输出True后,在后续pytorch使用中也会报错。
所以更稳靠的方式是创建一个tensor,并放置到cuda上去,如果没有报错并成功放上去了,就证明验证成功,并可以正常使用CUDA:
torch.tensor([1]).cuda()
该命令是创建一个内容为[1]的tensor,并将其放置到cuda上去,如下图结果是成功创建了tensor,并且该tensor位于’cuda:0’上
至此验证成功!