Docker Caffe部署
Caffe是一个清晰而高效的深度学习框架,纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝切换
Caffe的优势
- 上手快:模型与相应优化都是以文本形式而非代码形式给出。Caffe给出了模型的定义、最优化设置以及预训练的权重,方便立即上手。
- 速度快:能够运行最棒的模型与海量的数据。Caffe与cuDNN结合使用,测试AlexNet模型,在K40上处理每张图片只需要1.17ms.
- 模块化:方便扩展到新的任务和设置上。可以使用Caffe提供的各层类型来定义自己的模型。
- 开放性:公开的代码和参考模型用于再现。
- 社区好:可以通过BSD-2参与开发与讨论。
1.1下载cuda-caffe镜像
sudo docker search cuda-caffe
sudo docker pull kaixhin/cuda-caffe
1.2安装nvidia-docker
由于cuda-caffe依赖nvidia-docker工具,我们先安装nvidia-docker
wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.0-rc.3/nvidia-docker_1.0.0.rc.3-1_amd64.deb
#安装
sudo dpkg -i /tmp/nvidia-docker*.deb && rm /tmp/nvidia-docker*.deb
- Test
nvidia-smi #启动容器
nvidia-docker run -it kaixhin/cuda-caffe nvidia-smi
1.3执行get_cifar10.sh下载深度学习需要用到的图片
./data/cifar10/get_cifar10.sh
1.4执行./create_cifar10.sh,将会在examples中出现数据库文件./cifar10-leveldb和数据库图像均值二进制文件./mean.binaryproto
./examples/cifar10/create_cifar10.sh
1.5开始训练测试
./examples/cifar10/train_quick.sh
1.6查看主机GPU占用情况
nvidia-smi
当启动多个容器,进行GPU资源占用训练时,GPU的使用情况为抢占。