使用Anaconda配置Tensorflow/Pytorch环境

使用Anaconda配置Tensorflow/Pytorch环境

  • 1. Driver/CUDA/cuDNN/Tensorflow/Pytorch之间的关系
  • 2. Anaconda安装和配置
  • 3. Pytorch安装
  • 4. Tensorflow安装
  • 5. Jupyter Notebook安装和配置

安装Pytorch/Tensorflow不可避免的需要考虑显卡驱动,CUDA,cuDNN与AI框架之间的配合问题,如何选择合适的版本经常让人摸不着头脑。本文首先简单介绍显卡驱动,CUDA,cuDNN是什么以及它们与AI框架之间的关系,然后在后面的章节中介绍如何使用Anacond简易地配置Pytorch和Tensorflow环境(只需安装显卡驱动,而无需安装CUDA和cuDNN),并在文章最后介绍了如何配置Jupyter Notebook。

1. Driver/CUDA/cuDNN/Tensorflow/Pytorch之间的关系

  • GPU Driver: 显卡驱动就是用于驱动显卡的程序,它和操作系统是最接近显卡硬件的一层软件,显卡驱动使得操作系统能够更好的控制显卡,驱动其完成相关任务
  • CUDA: CUDA的全称为Compute Unified Device Architecture,是NIVIDA推出的通用并行计算架构。通过CUDA,可以更好的利用GPU进行并行计算。
  • cuDNN: cuDNN全称是NVIDIA CUDA深度神经网络库,它提供了高度优化的卷积,池化和激活等神经网络单元,深度学习框架可以用其加速相关运算。
    使用Anaconda配置Tensorflow/Pytorch环境_第1张图片

显卡驱动,CUDA,cuDNN和AI框架之间的关系如上图所示,AI框架利用cuDNN和CUDA实现高性能计算,驱动则为更上层的应用提供了操作显卡的接口。

安装Pytorch和Tensorflow前,一般都会要求先安装合适版本的显卡驱动,CUDA和cuDNN,这三者之间有着版本对应关系。一般安装完显卡驱动后,使用nvidia-smi.exe程序即可确定对应的CUDA版本。如下图所示,笔者使用的显卡为GTX 1070,显卡驱动为496.13,对应的CUDA版本为11.5,确认完CUDA版本后,即可在cuDNN的下载页面选择对应的cuDNN版本下载。

使用Anaconda配置Tensorflow/Pytorch环境_第2张图片

显卡驱动,CUDA和cuDNN之间的对应关系通过上述步骤就非常容易确认,但是AI框架一直在不断更新,不同版本的AI框架需要配合不同版本的显卡驱动,CUDA和cuDNN,这之间的对应关系经常使得AI框架的安装不能顺利完成。

下面本文的重点来了!

本文将介绍使用Anaconda安装Pytorch和Tensorflow,仅需安装显卡驱动和Anaconda,其余的安装仅需几条简单的命令就可完成,整个安装过程无需关注前文介绍的AI框架和显卡驱动,CUDA,cuDNN之间的版本对应关系。

在进行后续安装和配置前,请务必确认已经完成显卡驱动程序的安装!

2. Anaconda安装和配置

首先,需要安装Anaconda。安装Anaconda有两个选择:一个是直接安装Anaconda,另一个是安装miniconda。这二者均可使用conda进行虚拟环境管理和包管理。不同的是,安装Anaconda会自动安装许多常用的库,而安装miniconda仅会安装最基础的conda环境。因此,笔者选择安装miniconda,然后再使用conda创建自己需要的虚拟环境。Anaconda和miniconda的下载页面链接如下,可以自由选择其中1个进行安装。

  • Anaconda:https://www.anaconda.com/products/distribution
  • miniconda:https://conda.io/miniconda.html

具体的安装过程就不向下介绍了,选择好安装位置后,按照默认配置就行安装就行。安装完成后需要进行conda下载源的配置,使得conda再安装库的过程中能够更快的下载,笔者使用的是清华大学的开源镜像。Windows下可以通过先执行如下命令生成.condarc文件:

conda config --set show_channel_urls yes

然后将如下内容复制到.condarc文件中(Windows下通常位于C:\Users\username\路径下):

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

然后执行如下命令清除索引缓存,即可完成配置:

conda clean -i

3. Pytorch安装

完成显卡驱动程序和Anaconda/miniconda安装后,就可以进行Pytorch/Tensorflow的安装了。使用如下命令查看目前已有的虚拟环境:

conda info -e

可以发现仅有一个base环境。为了与其他环境隔离,更好的进行包管理,我们新创建一个pytorch虚拟环境:

conda create -n pytorch python=3.9

创建的环境名为pytorh,并且安装python 3.9。命令执行结束后,再次运行conda info -e,已经可以看见我们新创建的环境。通过如下命令,激活并进入刚才新创建的pytorch环境:

conda activate pytorch

下面进入最关键的pytorch安装步骤,只需要一条命令即可:

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

上述命令是Pytorch官网提供的conda环境下的安装方式(链接),执行后,conda会询问我们是否下载和安装如下包:
使用Anaconda配置Tensorflow/Pytorch环境_第3张图片
可以发现,其中已经自动为我们选择了cuda,而不需要我们自己提前安装cuda。

安装完成后,可以使用如下代码测试pytorch是否安装成功,并且能够使用GPU进行加速:

import torch
torch.cuda.is_available()

若输出为True,则表明GPU版本的Pytorch已经安装成功了。也可使用该方法方法安装CPU版本的,可以点击Pytorch的官方安装界面查看安装命令。

通过上述的几个简单命令,就已经完成了GPU版Pytorch的安装。

4. Tensorflow安装

安装Tensorflow的过程与安装Pytorch的过程类似,为了隔离环境,我们为Tensorflow新建一个虚拟环境:

conda create -n tensorflow pyhton=3.9

然后进入新建的Tensorflow环境中,并执行tensorflow的安装命令

conda activate tensorflow
conda install tensorflow-gpu


从结果中可以发现,conda为我们自动匹配了合适版本的CUDA和cuDNN,从而免去我们自己去配置CUDA和cuDNN的麻烦。

安装完成后,可通过如下代码验证是否可用

import tensorflow as tf
tf.test.is_gpu_available()

如果输出为True,则表明已经成功安装。

5. Jupyter Notebook安装和配置

Jupyter Notebook是常用的python开发环境,那么如何将刚才新建的Pytorch环境和Tensorflow环境同Jupyter Notebook结合起来呢。首先,我们现在base环境中安装Jupyter Notebook:

conda activate base
conda install Jupyter Notebook

执行完上述命令,我们已经可以在开始菜单中看见Jupyter Notebook了,但是,此时并没有将刚才新建的Pytorch环境和Tensorflow环境同Jupyter Notebook关联起来。分别在两个环境中安装ipykernel,并将虚拟环境绑定至Jupyter Notebook,即可在Jupyter Notebook中使用刚才新建的环境啦。以Pytorch虚拟环境为例,执行如下命令:

conda activate pytorch
conda install ipykernel
python -m ipykernel install --user --name pytorch --display-name "pytorch-env"

其中,–name pytorch 指示当前环境的名字,–display-name “pytorch-env”,表示该虚拟环境在Jupyter Notebook中显示的名称。对于Tensoflow的配置与上面相同,只要进入Tensorflow环境中,执行上述命令即可。

使用Anaconda配置Tensorflow/Pytorch环境_第4张图片
全部执行完之后,最终的效果如上图所示,可以选择虚拟环境新建Notebook。

你可能感兴趣的:(机器学习,tensorflow,pytorch,深度学习)