常用深度学习框架搭建记录:caffe,tensorflow,keras,pytorch

做深度学习,不免要碰到安装各种深度学习框架,比如caffe,TensorFlow,Keras,PyTorch等,这里就记录一下我Ubuntu上搭建一些常用深度框架步骤。

安装NVIDIA驱动

首先去官网上查看适合你GPU的驱动(http://www.nvidia.com/Download/index.aspx?lang=en-us)
例如,本人的GPU适合的驱动如图:


执行如下语句,安装

1
2
3
4
5
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-367
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev

执行完上述后,重启(reboot)。
重启后输入:

1
nvidia-smi

就可以看到GPU列表。

安装CUDA

cuda是nvidia的编程语言平台,想使用GPU就必须要使用cuda。
从这里下载cuda的安装文件 https://developer.nvidia.com/cuda-release-candidate-download

注意这里下载的是cuda8.0的runfile(local)文件。
这里是nvidia给出的官方安装指南(遇到问题时可以查阅):
http://docs.nvidia.com/cuda/cuda-installation-guide-linux/#axzz4HIBXnwyt
下载完cuda8.0后,执行如下语句,运行runfile文件:

1
sudo sh cuda_8.0.27_linux.run

执行后会有一系列提示让你确认,但是注意,有个让你选择是否安装nvidia361驱动时,一定要选择否,因为前面我们已经安装了更加新的nvidia367,所以这里不要选择安装。其余的都直接默认或者选择是即可。
安装成功后会出现如下界面:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-8.0
Samples: Installed in /home/textminer
Please make sure that
– PATH includes /usr/local/cuda-8.0/bin
– LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA.
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work.
To install the driver using this installer, run the following command, replacing with the name of this run file:
sudo .run -silent -driver
Logfile is /opt/temp//cuda_install_6583.log

接着测试一下CUDA是否安装成功,运行一下cuda中的samples

1
2
3
cd /usr/local/cuda-7.5/samples/1_Utilities/deviceQuery
make
sudo ./deviceQuery

此外还可以使用如下命令查看cuda的版本

1
2
3
cat /usr/local/cuda/version.txt 
#CUDA Version 8.0.61
#CUDA Patch Version 8.0.61.2

安装cudnn

登录官网:https://developer.nvidia.com/rdp/cudnn-download ,下载对应 cuda 版本且 linux 系统的 cudnn 压缩包,注意官网下载 cudnn 需要注册帐号并登录。

下载完成后解压,得到一个 cudn 文件夹,该文件夹下include 和 lib64 两个文件夹,命令行进入 cudn/include 路径下,然后进行以下操作:

1
sudo cp cudnn.h /usr/local/cuda/include/    #复制头文件

再将cd进入lib64目录下的动态文件进行复制和链接:

1
2
3
4
5
sudo cp lib* /usr/local/cuda/lib64/    #复制动态链接库
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.7 #删除原有动态文件
sudo ln -s libcudnn.so.7.0.5 libcudnn.so.7 #生成软衔接
sudo ln -s libcudnn.so.7 libcudnn.so #生成软链接

现在可以使用如下命令查看自己安装的cudnn版本是否正确

1
2
3
4
5
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
#我的显示如下,表示安装的是7.0.5版本的cudnn
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 5

最后将cuda的路径写进环境变量中去。

1
2
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64

其实上面的安装好了之后,安装深度学习框架就很快。

安装caffe

安装caffe前先得安装一些依赖项,依次输入如下命令:

1
2
3
4
5
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install git cmake build-essential

后续就可以按照caffe官网编译安装caffe

安装TensorFlow

下面是基于python3.5安装TensorFlow1.4:

1
2
sudo pip3 install tensorflow-gpu==1.4 #安装
sudo pip3 uninstall tensorflow-gpu==1.4 #卸载

安装完之后,最好是import tensorflow一下,看一看是否安装成功,tf版本和cuda版本,cudnn的版本有很大关系,比如,tf1.4开始就不支持cudnn5.0版本了,而tf1.5不支持cuda8.0,等等各种问题,安装时得注意一下。

安装Keras

1
2
pip install keras==2.1.5
pip uninstall keras=2.1.5 #卸载

安装PyTorch

1
pip install torchvision

这个命令会自动安装torch及其相关的组件。
以上就是我安装一些常用深度学习框架时的一些记录,可能每个人都不一样,在安装的时候可能会出现各种问题,但是一定要耐心地去分析出现这个问题的原因,善于使用Google。