安装大部分开发工具需要的基础依赖工具包,比如git,用于矩阵计算的atlas,图可视化的graphviz等;还有pip,Numpy和opencv的安装。
以ubuntu18.04为例,
$ sudo apt install python-pip
$ sudo pip install numpy
$ sudo apt update
$ sudo apt install build-essential git libatlas-base-dev
$ sudo pip install graphviz
对于当前的所有深度学习框架,如果要训练神经网络一定离不开(NVIDIA的)GPU,以及配套的GPU编程工具包CUDA。
安装NVIDIA驱动之前需要先卸载系统自己的驱动:
$ sudo apt --purge remove xserver-xorg-video-nouveau
然后添加NVIDIA驱动的源:
$ sudo add-apt-repository ppa:graphics-drivers/ppa
然后安装驱动和CUDA工具包:
$ sudo apt install nvidia-361 nvidia-settings nvidia-prime
$ sudo apt install nvidia-cuda-toolkit
安装完成后,输入,
$ nvidia-smi
如果安装成功则会显示显卡的信息,如下,
$ nvidia-smi
Mon Apr 12 11:35:06 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.141 Driver Version: 390.141 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GT 705 Off | 00000000:01:00.0 N/A | N/A |
| 26% 42C P8 N/A / N/A | 729MiB / 959MiB | N/A Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 Not Supported |
+-----------------------------------------------------------------------------+
如果是其他的linux系统,步骤也很类似,首先卸载自带的显卡驱动,然后用系统自带软件包或者到NVIDIA官网下载驱动及CUDA按照说明进行安装,下载地址为http://www.nvidia.com/Download/index.aspx或https://developer.nvidia.com/cuda-downloads。
cuDNN 是CUDA中专门为加速深度神经网络设计的库,是个可选的安装选项。下载地址为https://developer.nvidia.com/cudnn,找到对应版本并填些需要的信息后就可以下载。下载之后是一个压缩包,这里以cuDNN5.1为例,执行以下命令将cuDNN的库解压并添加到CUDA对应文件夹下,
$ tar -xvzf cudnn-8.0-linux-x64-v5.1-ga.tgz
$ sudo cp -P cuda/include/cndnn.h /usr/local/cuda/include
$ sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64
任何深度学习框架中,基于cpu的矩阵计算包也是基础的库之一,除了本节一开始安装的atlas,Intel的MKL(Math Kernel Library)因为其优异的性能,往往是一个更佳的选项,MKL的下载地址为https://software.intel.com/en-us/intel-mkl/。
MKL对于个人是免费的,需要一定的注册步骤获取一个许可证,其安装也不复杂,下载好安装包后解压,执行install.sh或者install_GUI.sh,按照提示一步步安装即可。
安装MXNet,
MXNet的github页面,https://github.com/dmlc/mxnet
$ git clone --recursive https://github.com/dmlc/mxnet
之后就会在执行命令的文件夹下得到一个mxnet的文件夹,第一步是配置安装的基础选项,打开mxnet/make文件夹中的config.mk文件,主要需要配置的是以下3个选项。
USE_CUDA=0
USE_CUDNN=0
USE_BLAS=altas
上面列出的是默认选项,对于训练网络的需求,需要至少把USE_CUDA改为1,如果需要cuDNN和mkl的话则需要把USE_CUDNN改为1,Usel_BLAS改为mkl。
配置好后开始安装,在ubuntu下有一个非常方便的方式,进入mxnet/setup-utils文件夹下,执行:
$ cd mxnet/setup-utils
$ sh install-mxnet-ubuntu-python.sh
等待执行结束就大功告成了。
一般的方式是,回到mxnet目录下,执行
$ cd mxnet
$ make -j
自动利用所有可用的cpu核对代码进行编译,如果在-j后面直接加上数字可以指定用的核数。
然后配置Python接口,
$ cd python
$ sudo python setup.py install