您的位置:首页 > 其它

深度学习指南:基于Ubuntu从头开始搭建环境

2016-06-01 22:28 477 查看
参考:http://geek.csdn.net/news/detail/77859

这是一篇为机器搭建深度学习研究环境的详细指南,包括驱动程序、工具和各种深度学习框架的安装指导。在64位Ubuntu 14.04的机器上使用Nvidia Titan X进行测试。

还有一些有类似目的的指南。一些内容有限,而另外一些则不是最新的。该指南基于(有些部分是复制来的):

在Ubuntu上安装Caffe
运行深度学习的梦想机器

目录

基础知识
Nvidia驱动
CUDA
cuDNN
Tensorflow
OpenBLAS
常用工具
Caffe
Theano
Keras
Torch
X2Go

基础知识

首先,打开终端,运行以下命令确保你的操作系统是最新的
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
sudo apt-get autoremove

安装git

sudo apt-get install git

Nvidia驱动

查看显卡型号
lspci | grep -i nvidia


到Nvidia官网查找你显卡对应的最新驱动和系统设置。你可以从此网站上下载并安装驱动,但这样做会升级到更新的驱动,并且卸载的时候会有些麻烦。此外,这么做需要你退出X服务会话,从终端进行安装,这比较麻烦。

我们将使用apt-get来安装驱动。到 “Proprietary
GPU Drivers” PPA中查看是否有你最新的驱动。注意,最新的驱动一定是最稳定的。你也可以安装网页上推荐的驱动版本。添加”Proprietary GPU Drivers” PPA 资源库。在写这篇文章的时候,最新版本是361.42,然而推荐版本是352:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-352

重启系统
sudo shutdown -r now

检查以确保安装了正确版本的NVIDIA驱动
cat /proc/driver/nvidia/version

CUDA

从Nvidia上下载CUDA7.5。然后到下载目录下安装CUDA
sudo dpkg -i cuda-repo-ubuntu1404*amd64.deb
sudo apt-get update
sudo apt-get install cuda

添加CUDA到环境变量
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

检查以确保安装了正确版本的CUDA
nvcc -V

重启系统
sudo shutdown -r now

检查CUDA安装(可选)

在CUDA安装目录安装样例。编译它们(需要几分钟):
/usr/local/cuda/bin/cuda-install-samples-7.5.sh ~/cuda-samples
cd ~/cuda-samples/NVIDIA*Samples
make -j $(($(nproc) + 1))

注意:(-j $(($(nproc) + 1)))命令使用你机器上的核心数并行执行,所以编译会更快

运行deviceQuery,确保它能检测到显卡并测试通过
bin/x86_64/linux/release/deviceQuery

cuDNN

cuDNN是为DNN设计的CPU加速库。它能在多种情况下帮助提升执行速度。为了下载cuDNN库,你需要到Nvidia网站https://developer.nvidia.com/cudnn上进行注册。几小时到几个工作日就能够批准。一旦注册批准,下载Linux版本的cuDNN
v4。最新版本是cuDNN v5,但是不是所有的工具都支持。

解压并复制文件

cd ~/Downloads/
tar xvf cudnn*.tgz
cd cuda
sudo cp */*.h /usr/local/cuda/include/
sudo cp */libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

检查

你可以使用nvidia-smi 命令检查目前所有操作都正确。这应该会输出GPU的一些统计数据

Tensorflow

安装v0.8版本与GPU兼容。下面的指令都来自于这里
sudo apt-get install python-pip python-dev sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl[/code] 运行一个测试程序确保Tensorflow成功安装。当你执行import命令的时候,应该不会有警告/错误。
python
>>> import tensorflow as tf
>>> exit()

OpenBLAS

OpenBLAS是一个线性代数库,比Atlas更快。这一步是可选的,但要注意,下面的一些步骤假定你已经安装了OpenBLAS。你需要安装gfortran来编译它。
mkdir ~/git
cd ~/git
git clone https://github.com/xianyi/OpenBLAS.git cd OpenBLAS
make FC=gfortran -j $(($(nproc) + 1))
sudo make PREFIX=/usr/local install

将路径添加到LD_LIBRARY_PATH 变量中
echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc

常用工具

为Scipy安装一些常用工具
sudo apt-get install -y libfreetype6-dev libpng12-dev
pip install -U matplotlib ipython[all] jupyter pandas scikit-image

Caffe

下面的指令都来自于这里。第一步是安装所必须的文件
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 libgflags-dev libgoogle-glog-dev liblmdb-dev

克隆Caffe资源库
cd ~/git
git clone https://github.com/BVLC/caffe.git cd caffe
cp Makefile.config.example Makefile.config

如果你安装了cuDNN,取消Makefile中USE_CUDNN := 1 这一行的注释
sed -i 's/# USE_CUDNN := 1/USE_CUDNN := 1/' Makefile.config

如果你安装了OpenBLAS,修改BLAS参数值为open
sed -i 's/BLAS := atlas/BLAS := open/' Makefile.config

安装需要的文件,构建Caffe和测试,运行测试确保所有测试都通过。注意,这都需要一段时间。
sudo pip install -r python/requirements.txt
make all -j $(($(nproc) + 1))
make test -j $(($(nproc) + 1))
make runtest -j $(($(nproc) + 1))

构建PyCaffe,Caffe的Python接口
make pycaffe -j $(($(nproc) + 1))

将Caffe添加到环境变量中
echo 'export CAFFE_ROOT=$(pwd)' >> ~/.bashrc
echo 'export PYTHONPATH=$CAFFE_ROOT/python:$PYTHONPATH' >> ~/.bashrc
source ~/.bashrc

测试确保Caffe安装成功。当执行import命令的时候应该不会有警告/错误。
ipython
>>> import caffe
>>> exit()

Theano

安装所必须的文件,然后安装Theano。这些指令来自于这里
sudo apt-get install python-numpy python-scipy python-dev python-pip python-nose g++ python-pygments python-sphinx python-nose
sudo pip install Theano

测试Theano安装。当执行import命令的时候应该不会有警告/错误。
python
>>> import theano
>>> exit()

Keras

Keras是围绕Theano和Tensorflow设计的一个有用的封装。默认情况下,它使用Theano作为后端。查看这里的指令以了解如何变更为Tensorflow。
sudo pip install keras

Torch

下面安装Torch的指令来自于这里。安装会花一些时间
git clone https://github.com/torch/distro.git ~/git/torch --recursive
cd torch; bash install-deps;
./install.sh

X2Go

如果你的深度学习机器不是主要工作机器,X2Go可以帮助你远程访问。X2Go是一个了不起的远程访问解决方案。你可以使用下面的命令在Ubuntu机器上安装X2Go服务。
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:x2go/stable
sudo apt-get update
sudo apt-get install x2goserver x2goserver-xsession

X2Go不支持统一桌面环境(Ubuntu的默认环境)。我发现XFCE效果不错。更多支持的环境在这里
sudo apt-get update
sudo apt-get install -y xfce4 xfce4-goodies xubuntu-desktop

使用下面的命令查看机器的IP
hostname -I

你可以使用上面的IP在你主要使用的机器上安装一个客户端来连接到深度学习服务器上。根据你的客户端系统,这里有更多的指令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: