Caffe的GPU环境搭建在Docker支持下并不困难,但是过程比较杂。
所需依赖如下,本文会说明安装方法,帮助大家少走弯路。
1.GNU/Linux x86_64 with kernel version > 3.10
2.Docker >= 1.9 (official docker-engine, docker-ce or docker-ee only)
3.NVIDIA GPU with Architecture > Fermi (2.1)
4.NVIDIA drivers >= 340.29 with binary nvidia-modprobe
本文分成三部分总结:
1.Docker安装与配置
2.Cuda安装
3.Caffe安装
一、Docker安装与配置
采用官方提供的安装方法:https://store.docker.com/editions/community/docker-ce-server-ubuntu?tab=description
1.设置repository
sudo apt-get -y install \
apt-transport-https \
ca-certificates \
curl
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
2.获取Docker CE
sudo apt-get -y install docker-ce
3.测试是否安装成功
docker info
4.安装nvidia-docker
这一部分的官方教程:https://github.com/NVIDIA/nvidia-docker/wiki/Installation
# Install nvidia-docker and nvidia-docker-plugin
wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.deb
sudo dpkg -i /tmp/nvidia-docker*.deb && rm /tmp/nvidia-docker*.deb
官方提供的测试方法需要下载一个1G左右的镜像才能测试
这里只需要输入sudo nvidia_docker info测试一下即可
默认情况下Docker会把镜像安装在根目录下/var/lib/docker,这样镜像会大量占用系统盘空间,最终导致磁盘资源不足
解决方案是修改默认安装目录
由于我的/home磁盘资源比较多,所以都安装到/home去
zcw@ubuntu:~# mkdir docker
zcw@ubuntu:~# vim /etc/default/docker
添加配置信息
DOCKER_OPTS="--graph=/home/docker"
保存退出
service docker restart
发现配置并没有生效
解决方案:
zcw@ubuntu:~# mkdir -p /etc/systemd/system/docker.service.d
zcw@ubuntu:~# cat /etc/systemd/system/docker.service.d/Using_Environment_File.conf
如果没有该文件则自行创建,添加以下内容
[Service]
EnvironmentFile=-/etc/default/docker
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// $DOCKER_OPTS
载入配置重启服务
zcw@ubuntu:~# systemctl daemon-reload
zcw@ubuntu:~# service docker restart
查看配置是否生效
zcw@ubuntu:~# ps -ef|grep docker
二、CUDA安装
本部分完成第四项环境依赖:NVIDIA drivers(http://www.nvidia.com/object/unix.html) >= 340.29 with binary nvidia-modprobe
进入正题,到以下链接下载对应的CUDA,按官方教程,无脑完成
https://developer.nvidia.com/cuda-downloads
三、Caffe
Caffe安装也很简单,大约2个G,只需等待即可
nvidia-docker run -ti bvlc/caffe:gpu caffe --version
至此安装过程已经完成。
默认情况下caffe以root身份运行,因此任何输出文件为root拥有,你可以通过flags来修改以及挂载目录
docker run --rm -u $(id -u):$(id -g) -v $(pwd):$(pwd) -w $(pwd) bvlc/caffe:gpu caffe train --solver=example_solver.prototxt