视频教程:2021年windows下安装GPU版本的Tensorflow和Pytorch_哔哩哔哩_bilibili
最近比特币的热潮慢慢褪去,显卡的价格也下来了,所以小伙伴们可以观察一下最近的行情,合适的时候可以入手几块显卡来搞深度学习。关注我的朋友大多数来自大作业怎么搞系列教程,大作业怎么搞系列使用tensorlfow训练了几个物体分类模型,在开源出的代码中我也基本给了大家我训练好的模型,有的朋友反应自己跑训练的过程的时候速度比较慢,这个原因大多都是因为大家是在CPU环境下来跑的,所以速度不是很快,如果使用GPU来跑训练的话,效率上差不多是CPU的10倍。
!!!注:深度学习的小伙伴请选择Nvidia(英伟达)的显卡
显卡的品牌基本可以分为两大阵营:AMD和Nvidia。如果是深度学习使用的话大家务必要选择Nvidia的显卡,AMD显卡性价比虽然比较高,但是其对深度学习的支持不是很好,所以大家购买之前一定要看清是不是英伟达的显卡,下面是英伟达的图标。
认识显卡(GPU)
购买显卡之前,我们以Nvidia的显卡为例,说明一下显卡的型号上面的数字都表示什么意思,影驰
表示的是显卡的制造商,Geforce
是显卡系列名称,GTX
表示显卡的档次,数字一般是四位,前两位表示显卡的代数,16
就表示是第16代显卡,中间的第三位数字表示的是显卡的性能级别,数字越大显卡的性能级别就相对越好,最后一位一般都是0,不用去管,有的显卡还有英文的后缀,SE
表示阉割版、TI
和Super
表示增强的版本,比如1660TI就是在1660的基础上进行了增强,6G
表示显卡的显存是6个GB,最后的比较炫酷的名字是制造商定的名字,这个一般就是个噱头,不需要太关注。
另外比较重要的是大家要学会看显卡的参数,分别是架构、工艺、流处理器、核心频率、显存频率、显存位宽、显存容量,比如这里是3090的显卡信息。
- 架构:相当于运行布局,布局越好跑的越流畅。
- 工艺:制程越小精度越高,越能发挥更多性能。
- 光栅以及流处理器:相当于劳动力,人越多执行力越强。
- 核心频率:反应速度,相当于跑车百米提速效率。
- 显存频率:相当于限速标志,决定了最大运行速度。
- 显存位宽:相当于划线,决定了最大运行通道。
- 显存容量:相当于道路限宽,决定了最大承载量。
拿绝地求生来说,这款游戏比较吃显存。因为游戏地图数据都加载在显存内,越是精致的3D画面数据量越多,需要的显存容量就越高。深度学习的话一般主要关注两个点,一个是显存的容量一个是cuda核心的数量,这两个指标越大相对就越好。
有台式机的小伙伴可以直接买单独的显卡插在主板上,注意要看自己的电源功率是否能够为显卡提供供电。
没有台式机的小伙伴也可以考虑买带有Nvidia显卡的笔记本,目标联想拯救者系列就是个不错的选择。
安装显卡驱动
首先第一步还是要安装显卡的驱动,显卡驱动的安装需要在官网下载驱动程序,首先大家需要在设备管理器中查看你的显卡型号,这里是我的显卡。
去官网下载对应你显卡的驱动程序:
下载之后执行程序并进行安装即可,为了防止不必要的情况出现,安装的时候请按照默认选项执行。
安装完毕之后重启电脑在cmd中输入nvidia-smi
,输出下列信息则表示显卡驱动安装成功。
安装Anaconda
老朋友应该都知道Anaconda和Pycharm的使用方式,新朋友的话看下面这个教程就可以了
如何在pycharm中配置anaconda的虚拟环境_dejahu的博客-CSDN博客
安装完成之后在cmd中输入conda
,如果输出下列信息则表示anaconda安装成功。
安装完毕之后请务必更新为国内的源,加快第三方库的下载速度,在cmd中执行下列指令即可。
conda config --remove-key channels
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple
安装GPU版本的Tensorflow
GPU版本Tensorflow的安装
创建并激活虚拟环境
打开cmd,首先创建虚拟环境,分别输入下面两条命令,完成虚拟环境的创建和激活
conda create -n dejahu-tf python==3.7.3
conda activate dejahu-tf
安装
我们首先需要使用conda安装cuda和cudnn
conda install cudatoolkit=10.1
conda install cudnn==7.6.5
然后使用pip指令安装gpu版本的tensorflow
pip install tensorflow-gpu==2.3.0
测试GPU是否可用
现在在命令行中测试一下GPU是否可用,首先输入python进入python的解释器中
输入下面两条指令,如果输出为True则表示GPU可以使用
import tensorflow as tf
print(tf.test.is_gpu_available())
如果大家的输出和我这个类似那么你就可以愉快地使用GPU版本的tensorflow了
tensorflow如果安装的是GPU版本的则默认使用GPU,大家不需要在代码中指定,直接使用即可
安装GPU版本的Pytorch
GPU版本Pytorch的安装
创建并激活虚拟环境
打开cmd,首先创建虚拟环境,分别输入下面两条命令,完成虚拟环境的创建和激活
conda create -n dejahu-torch python==3.7.3
conda activate dejahu-torch
安装
我们这里使用conda进行gpu版本pytorch的安装,非常方便,直接在激活的虚拟环境中输入下列命令即可,这里安装的是最新版本的Pytorch
conda install pytorch torchvision torchaudio cudatoolkit=10.2
30系的朋友需要cuda11的支持,请执行下列命令
conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c conda-forge
如果需要指定版本号,请这样执行
conda install pytorch==1.5.0 torchvision==0.6.1 cudatoolkit=10.2
测试GPU是否可用
现在在命令行中测试一下GPU是否可用,首先输入python进入python的解释器中
输入下面两条指令,如果输出为True则表示GPU可以使用
import torch
print(torch.cuda.is_available())
如果大家的输出和我这个类似那么你就可以愉快地使用GPU版本的Pytorch了
不过Pytorch会讲究使用device来指定GPU,需要大家通过to()方法做下转移
备用方案
另外受到网络的原因,可能需要大家手动安装cuda和cudnn,不过这种方法需要cuda和cudnn匹配,不推荐大家使用,命令如下
conda install cudatoolkit=10.1
conda install cudnn==7.6.5
使用这些API,您可以开发分析工具,深入了解CUDA应用程序的CPU和GPU行为。CUPTI作为CUDA支持的所有平台上的动态库提供。请参阅CUPTI文档。
nvidia与cuda需要满足关系:
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
cuda与cudnn需要满足关系:
https://developer.nvidia.com/rdp/cudnn-archive
cuda历史版本下载连接:
https://developer.nvidia.com/cuda-toolkit-archive
Tensorflow不同版本要求与CUDA及CUDNN版本对应关系:
https://blog.csdn.net/u013066730/article/details/88845083