赞
踩
最近,笔者开始入坑ubuntu系统训练深度学习模型。一个令自己舒适的深度学习环境非常重要。下文记录了笔者自己配置深度学习环境时的入坑和填坑过程供大家参考,希望大家一起学习,少走弯路,提高学习和工作效率。整个配置过程包括安装一些驱动、深度学习库、深度学习框架。安装顺序如下:
由于电脑本身安装了显卡驱动,故笔者没有自行安装,但显卡驱动的安装是整个环境配置的基础。安装时应根据自己电脑的显卡型号去查询应下载的驱动版本。比如,可在此链接中输入自己的显卡型号进行查询和下载。安装显卡驱动的链接比较多,并且笔者没有亲自尝试安装,所以在此不做赘述。
CUDA是NVIDIA推出的用于其自家GPU产品的并行计算框架,当需要大量并行计算时可以发挥CUDA的优势。对于CUDA的版本选择,可依据两个方面:
① 小于等于自己电脑显卡驱动能支持的最高CUDA版本;
② 与自己想要安装的Tensorflow版本相匹配。
对于①,可在终端输入nvidia-smi查询自己的显卡驱动以及所支持的CUDA最高版本。如CUDA最高支持版本为10.2,则可安装小于等于10.2的所有版本(截止目前CUDA更新到10.2,可见官网链接)。
对于②,需查看Tensorflow与CUDA的版本对应关系:参考链接1、参考链接2以及Tensorflow官网。下图是来自官网的截图,因此,欲安装Tensorflow2.0,相应的CUDA版本选择10.0,CuDNN版本选择7.4。
确定版本之后,在官网下载相应CUDA版本的runfile和补丁(PS:有些博客说需要下载和安装补丁,但是笔者没有安装补丁,暂时还未发现有什么不妥……):
打开终端,在下载目录中使用如下命令安装(PS:有些博客会在命令最后加–no-opengl-libs,但笔者未加,暂时未发现什么不妥):
$ sudo sh cuda_10.0.130_410.48_linux.run
安装时会有特别长的协议说明,一路enter,遇到询问是否安装显卡驱动时选择n(no)(如下图),其余都选y(yes)。
安装完成后,打开.bashrc文件:
$ gedit ~/.bashrc
将以下两行添加到.bashrc文件末尾:
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
save,关闭,并输入下面指令使环境变量立刻生效:
$ source ~/.bashrc
此时,CUDA安装完毕。最后,检测安装结果。
方式一:检测是否能查询版本信息。在终端输入nvcc -V
或nvcc --version
,若输出以下信息,说明安装成功:
方式二:检测是否能查询显卡信息。执行以下命令:
$ cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
$ sudo make && ./deviceQuery
若输出相关信息并且最后显示Result = PASS,表明查询显卡信息成功,CUDA安装正确。
cuDNN是深度神经网络的一个GPU加速库。从本文第一张图可见所需安装cuDNN版本为7.4。在此链接处下载相应版本。例如笔者下载的是7.4.2版本。
单击选择后,将红框中的cuDNN Library for Linux下载(PS:有些博客说的是下载篮框中的三个文件依次安装(解压),笔者这里没有这样做)。
cuDNN的安装实际上只是将下载的文件解压,然后将库文件复制到CUDA相应的文件夹内。可以进行如下操作:
在根目录下新建cuDNN文件夹,将Downloads中下载好的cuDNN库压缩文件复制到新建的文件夹中并解压:
$ mkdir cudnn
$ cd ~/.Downloads
~/.Downloads$ sudo cp cudnn-10.0-linux-x64-v7.4.2.24.tgz /cudnn
~/.Downloads$cd /cudnn
/cudnn$ tar -zxvf cudnn-10.0-linux-x64-v7.4.2.24.tgz /cudnn
解压后得到几个库文件:
执行以下命令,将库文件复制到CUDA相应文件夹中:
/cudnn$ cd cuda/
/cudnn/cuda$ sudo cp include/cudnn.h /usr/local/cuda/include
/cudnn/cuda$ sudo cp lib64/libcudnn* /usr/local/cuda/lib64
此时,可通过以下命令cuda相应文件夹中查看cudnn的版本等信息:
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
最后,编辑环境变量文件.bashrc:
$ gedit ~/.bashrc
在文件末尾加上以下语句:
export CUDA_HOME=/usr/local/cuda
save,关闭,并输入下面命令,则环境变量立即生效:
$ source ~/.bashrc
至此,cuDNN安装完毕。
Tensorflow2.0支持的python版本为2.7,3.3~3.7,这里选择的是python3.6版本,而与python3.6版本对应的Anaconda版本可以参考此链接。笔者在此选择Anaconda-5.2.0。在此链接中找到需要的版本下载。
接下来安装Anaconda。这一部分参考了笔者上一篇博客。
①在终端采用cd命令进入安装包所在目录
②进入安装包所在目录,执行命令:$ bash Anaconda3-5.2.0-Linux-x86_64.sh
一路回车,到下图位置,回复yes
中间询问安装位置,可以根据情况更改,也可直接回车
直到询问在.bashrc中添加路径,回复yes
PS:中间会遇到提示信息“Do you wish to proceed with the installation of Microsoft VSCode? [yes|no]”,可以根据情况选择yes或no。笔者在此选择了yes,却遇到如下错误:
‘Checking Internet connectivity …Please make sure you are connected to the……’
这里是参照了这篇博客的解决方式,即先在https://code.visualstudio.com/Download上下载ubuntu系统.deb格式VS Code安装包安装,再安装Anaconda,这样在信息询问时就会显示VS Code已经安装。
看到如下图所示语句,完成安装。
此时执行sudo gedit ~/.bashrc打开.bashrc文件已经可以在文件末尾看到如下信息(其中user是自己电脑的用户名):
export PATH="/home/user/anaconda3/bin:$PATH"
最后,执行命令:$ source ~/.bashrc,.bashrc中添加的路径生效。Anaconda安装完毕。
通常,我们可以在Anaconda中建立若干虚拟环境,在此各虚拟环境中安装我们所需的各种库,这样不会影响base环境和其他环境,还可以在各种环境中随意切换。由于笔者从事的是地理信息、遥感方面的工作,初了深度学习环境的配置之外还想在该环境中安装GDAL库方便处理影像,于是……就有了第一遍在虚拟环境中安装好Tensorflow、Keras之后被安装GDAL库折磨仨小时的惨痛经历……然鹅,在近仨小时百度之后,终于在Google中迅速找到了解决办法!不得不再次感叹Google的强大!那么,想要在新建的虚拟环境中安装GDAL库非常直接、简单的办法就是在终端直接输入以下命令:
$ conda create -n TF2.0 gdal python=3.6
这里就是参考了Google出的此链接中的回答部分:https://gis.stackexchange.com/questions/266173/ubuntu16-10-install-gdal-on-python3-6
在上面的代码中,TF2.0为新建的虚拟环境的名称。另外需要注意两个方面:
一,其中的gdal是会直接安装与后面指定的python版本相对应的GDAL库,不需要用到GDAL的时候可以不写该参数。但是,经亲身实践,后面再装真的很难……因为通过conda install gdal装好的版本是gdal的最新版,会与目前python的版本不对应。如果大家有在之后再装成功的经历可以分享出来~
二,python=3.6这里,python的版本一定要指定好,这会方便后续其他东西的安装。比如,笔者想要安装一个python可视化编程环境spyder,在第一遍安装的过程中,笔者没有指定python版本,通过conda install spyder安装了一个适用于目前python最高版本(python3.8)的spyder,同时破坏了之前的虚拟环境,将虚拟环境中的python版本也更升级为3.8版本……所以就不得不卸载已经装好Tensorflow和Keras的虚拟环境从头开始……由此可见创建虚拟环境时指定python版本的重要性。
创建完虚拟环境后,可通过以下命令进入虚拟环境,安装后续需要的库:
$ source activate TF2.0
PS:可通过以下命令退出虚拟环境:
$ source deactivate TF2.0
进入虚拟环境中,可以根据自己的喜好安装spyder:
$ conda install spyder
进入虚拟环境,输入以下代码安装GPU版本的Tensorflow:
pip install tensorflow-gpu==2.0.0
检测Tensorflow是否安装成功可,输入python进入python命令行,通过以下方式:
print(tensorflow.__version__)
若能输出类似2.0.0这样的版本信息,说明安装成功。
Keras是以Tensorflow/CNTK/Theano为后端的更简洁的深度学习框架。在此,以Tensorflow作为后端。安装非常简单,只需输入以下命令:
$ pip install keras==2.3.0
检测是否安装成功可通过以下方式:
$ conda install git
$ git clone https://github.com/fchollet/keras.git
$ cd keras/examples/
$ python mnist_mlp.py
如果可以跑起来,则说明安装成功。
另外,检验训练过程中是否用到GPU,可看跑Keras时的输出,若有GPU信息,则用到GPU。另外可以通过以下命令查看是否识别到设备的GPU以及设备的GPU名字:
import tensorflow as tf
print (tf.__version__)
if tf.test.gpu_device_name():
print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
else:
print("Please install GPU version of TF
到此,深度学习环境配置成功喽~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。