【深度学习:21 天实战 Caffe】Docker 镜像更新
来源:互联网 发布:风控系统源码 编辑:程序博客网 时间:2024/05/17 02:24
不少读者在准备 Caffe 环境时耗费太多时间,本文希望能大大加速这部分进程。
考虑读者的本地环境各异,很难统一用一套流程,为此制作了标准 Docker 镜像,包含了 Caffe 和必备的依赖包,开箱即用。
Docker 官方 Hub:https://hub.docker.com/r/zhaoyongke/bookenv/tags/
阿里云 Docker Hub :https://dev.aliyun.com/detail.html?spm=5176.1972343.2.2.9Nu3FD&repoId=5237
1. 快速搭建 Day 4 环境:
从官方拉取 docker image$ docker pull zhaoyongke/bookenv:caffe_cpu_only如果速度很慢,推荐阿里云 Docker Hub:$ docker pull registry.cn-hangzhou.aliyuncs.com/master_caffe_in_21days/caffe:cpu_only
创建一个 docker 实例:
$ docker run -ti registry.cn-hangzhou.aliyuncs.com/master_caffe_in_21days/caffe:cpu_only
创建成功后,依次执行如下命令来运行 MNIST 例程。
切到 Caffe 目录。该源码克隆于 master 分支(20161112)。
$ cd root/caffe/$ ./build/tools/caffe.bin$ vi examples/mnist/lenet_solver.prototxt
将 solver_mode: GPU 改为 CPU
安装 wget,便于执行获取数据脚本$ apt-get install wget
获取 MNIST 数据集$ ./data/mnist/get_mnist.sh
用 MNIST 数据集创建 LMDB 数据库$ ./examples/mnist/create_mnist.sh
执行训练$ ./examples/mnist/train_lenet.sh
2. 快速搭建 Day 15 环境:
Docker 官方 Hub:$ docker pull zhaoyongke/bookenv:caffe_gpu_driver367.57阿里云 Docker Hub:$ docker pull registry.cn-hangzhou.aliyuncs.com/master_caffe_in_21days/caffe:gpu_driver367.57
编写 Shell 脚本内容如下,保存为 start_docker_with_gpu_cuda.sh
#!/bin/bashdocker run -ti \--device /dev/nvidia0:/dev/nvidia0 \--device /dev/nvidiactl:/dev/nvidiactl \--device /dev/nvidia-uvm:/dev/nvidia-uvm \-v /usr/local/cuda:/usr/local/cuda \$1 \/bin/bash
创建 GPU Docker 实例:
$ ./start_docker_with_gpu_cuda.sh 6ce
其中 6ce 就是上图对应刚刚 pull 下来的 docker image id 缩写,也可以用 image repo:tag 这种格式:
$ ./start_docker_with_gpu_cuda.sh registry.cn-hangzhou.aliyuncs.com/master_caffe_in_21days/caffe:gpu_driver367.57
看到不如 image id 简洁。
GPU 环境比较特殊,需要做额外的工作才能保证可用。
首先是驱动版本,如果你宿主机的 GPU 驱动版本与 docker 实例中版本不一致,会报错:
解决方法:
将宿主机的驱动安装包(NVIDIA-Linux-x86_64-xxx.xx.run)拷贝到 /usr/local/cuda/ 下面(因为我们做了宿主机和 docker 文件共享,通过该目录可以互相传递文件),然后在 docker 实例中 cd 到 /usr/local/cuda/ 可以看到驱动安装包。
执行如下命令:
$ ./NVIDIA-Linux-x86_64-xxx.xx.run -s -N --no-kernel-module
等待安装成功,再运行 nvidia-smi,一切正常了。
其次是 CUDA 版本。docker 镜像里默认编译好的 Caffe 依赖 CUDA 8.0,如果你宿主机上 CUDA 版本不同,需要重新编译 Caffe。
- 【深度学习:21 天实战 Caffe】Docker 镜像更新
- 【深度学习:21 天实战 Caffe】Docker 镜像更新
- 【深度学习:21天实战 Caffe】云盘资源更新
- 深度学习-21天实战caffe 笔记
- 深度学习 21天实战Caffe
- 深度学习 21天实战caffe
- 深度学习21天实战实战caffe学习笔记<1>
- 深度学习21天实战实战caffe学习笔记<2>
- 深度学习21天实战实战caffe学习笔记<20>
- 深度学习21天实战实战caffe学习笔记<3>
- 深度学习21天实战实战caffe学习笔记<4>
- 深度学习21天实战实战caffe学习笔记<0>
- 深度学习21天实战实战caffe学习笔记<5>
- 深度学习21天实战实战caffe学习---安装
- 深度学习21天实战实战caffe学习笔记<6>
- 深度学习21天实战实战caffe学习笔记<19>
- 深度学习21天实战Caffe学习笔记一
- 【深度学习:21 天实战 Caffe】课后习题参考答案
- 33. Search in Rotated Sorted Array
- 前后端交互中json的用法
- NetworkSecurityConfig: No Network Security Config specified, using platform default
- 调整数组顺序使奇数位于偶数前面
- 启动ArcGIS Serer 端口冲突问题解决方法
- 【深度学习:21 天实战 Caffe】Docker 镜像更新
- 前端工程师前端性能优化及技巧分享--本文转载自360问答
- 单页Web应用(SPA)的简单介绍
- JAVA测试入门(三)
- 如何设计稳定性横跨全球的 Cron 服务
- android资料
- JSON 解析器
- 如何使用命令行生成高强度密码
- Android回顾(一)