2023年1月更新
①关于nvidia-smi的结果中的cuda version:与较新的驱动程序相关联的nvidia-smi显示的CUDA版本是DRIVER API兼容性版本。它根本不表示任何有关实际安装的CUDA版本的信息(来自这篇博文)
———————–以下是原文———
背景:需要运行一个基于keras的BERT+BiLSTM+CRF的NER项目,因此写了这篇小记,记录环境准备的过程和步骤。
1、建立虚拟环境
前提:先安装Anaconda(这里我使用的是Anaconda3)
参考链接:https://blog.csdn.net/colleges/article/details/121948153
这里的Python版本为Python 3.6.8
2、安装TensorFlow(GPU版本)
2.1配置conda和pip镜像源
2.1.1conda镜像源
- 通过下面这一行代码查看本机anaconda的conda镜像源有哪些。
conda config --show channels
- 本机查询结果如下图所示,由图可知,本机没有配置镜像源,为默认的,所以下载东西的时候网速会比较慢。
- 为conda配置清华镜像源,配置结果如下图所示。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
#设置搜索时显示通道地址(此步骤可有可无)
conda config --set show_channel_urls yes
2.1.2pip镜像源
清华镜像源:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云镜像源:https://mirrors.aliyun.com/pypi/simple/
- pip安装的时候大部分的包都不是很大,因此这里选择在pip命令后面使用参数
-i
来临时指定镜像源。 - 想要永久有效,可以参考文章:https://blog.csdn.net/anglemanyi/article/details/112647242
2.2先直接安装TensorFlow-GPU
这里安装的TensorFlow版本为1.14.0
- 输入以下命令安装TensorFlow-gpu,可以看到,指定了镜像源之后速度比原来快多了(原来只有几十K)。
pip install tensorflow-gpu==1.14.0 -i https://mirrors.aliyun.com/pypi/simple/
- 安装完成后,进入Python编辑器,通过如下命令尝试导入tensorflow,发现报了下图所示的错误。
import tensorflow as tf
- 返回的所有错误信息主要意思就是缺少了cudart64_100.dll,而且最后也提示我们需要安装CUDA10.0。
2.3安装CUDA和cuDNN
2.3.1弄清版本要求
TensorFlow、CUDA以及cuDNN的版本对应关系:https://www.tensorflow.org/install/source_windows
CUDA Toolkit与显卡驱动程序版本对应关系:http://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
cuDNN官网:https://developer.nvidia.com/cudnn
- 先查看一下版本。我需要安装的是TensorFlow-gpu-1.14.0,当前的Python版本为3.6.8,通过上面列出的第一条链接可知符合要求;所需要的CUDA版本确实为CUDA10,对应的cuDNN版本为cuDNN7.4。通过上述第二条链接,可以知道CUDA10.0.130要求显卡驱动程序版本(Windows下)。
- 查看自己电脑的驱动程序版本:在命令行输入
nvidia-smi
,可以看到本机的显卡驱动程序版本为,符合要求。
- 需要注意的的是,①某一个显卡驱动程序版本之下,可以使用多种版本的CUDA。②虽然通过TensorFlow官网我们知道TensorFlow-GPU-1.14.0版本对应的cudnn版本为7.4,但其实这个不是必须的,但我们必须确保对应的cuda版本为10.0,然后看哪一版本的cudnn支持CUDA10.0(通过2.3节最开始列出的cuDNN官网可查询)。根据下图所示内容,我们可以使用cudnn7.6.5。
2.3.2开始安装
CUDA官网:https://developer.nvidia.com/cuda-gpus
cuDNN官网:https://developer.nvidia.com/cudnn
目前知道的有两种安装方式:
- ①通过官网,下载可执行文件然后在本地安装。值得注意的是,用这种方式安装CUDA的时候,安装的内容非常全面,甚至也包括了显卡驱动程序,然而我们只需要其中的一部分,来支持TensorFlow的运作,所以就有了第二种方式。
- ②通过在虚拟环境中使用
conda
命令来安装,这样方便快捷,便于管理(前提是需要确保自己电脑上的显卡驱动程序的版本符合要求)。
这里演示的就是采用的②中所述的方法。
- 由2.3.1的叙述可知我们要安装的是CUDA10.0.130。在conda虚拟环境中,直接使用下面的命令即可安装(已经在2.1.1中配置了conda的国内镜像源):
conda install cudatoolkit=10.0.130
- CUDA安装完成之后,conda其实是会自动匹配对应的cuDNN,因此直接输入下面的命令即可。它自动匹配出来的cuDNN版本为7.6.5,正是我们在2.3.1节看到的那样。
conda install cudnn
2.4验证安装
- 分别输入以下命令,得到以下三张图的结果就说明没有问题了。
#命令1
import tensorflow as tf #成功导入,不像2.2中那样报错了
#命令2
print(tf.__version__) #1.14.0
#命令3(适用于TensorFlow 1.x版本)
print(tf.test.is_gpu_available()) #True
3、安装keras
安装完TensorFlow之后便可以开始keras的安装。
这里将要用到的有keras、keras_contrib、keras_bert.
3.1keras安装
- 通过keras官网可以知道,keras可以直接通过如下
pip
命令在虚拟环境中进行安装。
pip install keras==2.2.4
3.2keras_contrib安装
- 尝试使用pip的方式安装,但是多次尝试无法成功。
- 百度之后,发现需要通过git进行安装。
3.2.1安装git
git可以使用图形化安装方式,也可以使用命令行安装方式。此处采用命令行方式在虚拟环境中进行安装。
- 激活虚拟环境,再输入下面的命令,便可成功安装,如下图所示。
conda install git
3.2.2安装keras_contrib
安装好git,就可以通过
git+网址
的方式进行安装了但是,需要注意,由于GitHub访问很慢,因此选择在gitee上找了一个对应的keras_contrib
- 如下图所示,直接从GitHub进行git安装的话,可能会访问不了
- 因此,这里通过gitee安装。输入以下命令即可完成安装,如下图所示。
pip install git+https://gitee.com/BenjaminHb/keras-contrib.git
3.3keras_bert安装
- 这个可以通过
pip
直接安装,输入以下命令即可。
pip install keras-bert
4、参考文章
- 以上是本文的全部内容,本文撰写过程中的主要参考文章如下:
①【TensorFlow-GPU安装】:
https://blog.csdn.net/m0_49090516/article/details/113576003
②【GPU、CUDA、CUDA Toolkit、cuDNN关系以及下载安装】:
https://blog.csdn.net/qq_42406643/article/details/109545766
③【在anaconda环境中使用conda命令安装cuda、cudnn、tensorflow(-gpu)】:
https://blog.csdn.net/qq_37774098/article/details/109895048
④【tensorflow 安装GPU版本,个人总结,步骤比较详细】:
https://blog.csdn.net/gangeqian2/article/details/79358543
文章出处登录后可见!