本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载。
项目地址: https://github.com/ufoym/deepo
因为 Deepo 是一系列 Docker 镜像,所以它要求先安装 Dokcker 客户端与环境。Docker 主要是希望创建可移植软件的轻量容器,并让这些软件可以在任何安装了 Docker 的机器上运行,而不用关心底层操作系统。所以希望利用该项目安装深度学习环境的读者首先需要了解 Docker。
Deepo 是一系列 Docker 镜像,它的主要特征有:
Deepo 的 Dockerfile 生成器主要有以下特征:
可用的 Tags
快速启动
GPU 版
第一步:安装 Docker 和 nvidia-docker:
Docker: https://docs.docker.com/engine/installation/
nvidia-docker: https://github.com/NVIDIA/nvidia-docker
第二步:使用以下命令行从 Docker Hub 获取 一体式镜像
- docker pull ufoym / deepo
现在我们可以尝试使用以下命令:
- nvidia - docker run--rm ufoym / deepo nvidia - smi
这个命令应该能令 Deepo 从 Docker 容器中使用 GPU,如果该命令不起作用,那么可以在 nvidia-docker GitHub 项目中搜索 Issues 部分,上面有很多解决方案。为了获得一个和容器交互的 shell,它不会在我们推出后自动删除,我们需要键入:
- nvidia - docker run - it ufoym / deepo bash
如果我们希望在主机(机器或虚拟环境)和容器间共享数据和配置,那么可以使用 -v 选项:
- nvidia - docker run - it - v / host / data: /data -v /host / config: /config ufoym/deepo bash
该命令会将主机可视的 /host/data 变为容器中的 / data,/host/config 作为 / config。这种隔离减少了集装箱化试验重写或使用错误数据。
注意有些框架(如 PyTorch)是噢用共享内存以在进程中共享数据,所以如果使用默认的共享内存分区大小,那么容器运行多进程是不够的。因此我们需要使用 nvidi-docker 运行 --ipc=host 或 --shm-size 命令增加共享内存大小。
- nvidia - docker run - it--ipc = host ufoym / deepo bash
CPU 版
第一步:安装 Docker
第二步:使用以下命令行从 Docker Hub 获取 一体式镜像
- docker pull ufoym / deepo: cpu
现在我们能尝试使用以下命令行:
- docker run - it ufoym / deepo: cpu bash
如果我们希望在主机(机器或虚拟环境)和容器间共享数据和配置,那么可以使用 -v 选项:
- docker run - it - v / host / data: /data -v /host / config: /config ufoym/deepo: cpu bash
注意有些框架(如 PyTorch)是噢用共享内存以在进程中共享数据,所以如果使用默认的共享内存分区大小,那么容器运行多进程是不够的。因此我们需要使用 nvidi-docker 运行 --ipc=host 或 --shm-size 命令增加共享内存大小。
- docker run - it--ipc = host ufoym / deepo: cpu bash
原 文: 机器之心
作 者:机器之心编译
来源: https://sdk.cn/news/7879