资源 | GitHub新项目Deepo:一键安装11项深度学习框架与环境

选自GitHub

机器之心编译

参与:蒋思源

最近,一项关注于快速构建深度学习环境的 GitHub 项目十分流行,这个名为 Deepo 的项目由一系列 Docker 镜像组成,包含了 TensorFlow、MXNet、Caffe 和 Torch 等 11 个流行的深度学习研究环境。该项目发布一个多月已经有了近 3000 的收藏量,机器之心简要介绍了该项目,更详细的安装步骤请查看原 GitHub 项目。

项目地址:https://github.com/ufoym/deepo

因为 Deepo 是一系列 Docker 镜像,所以它要求先安装 Dokcker 客户端与环境。Docker 主要是希望创建可移植软件的轻量容器,并让这些软件可以在任何安装了 Docker 的机器上运行,而不用关心底层操作系统。所以希望利用该项目安装深度学习环境的读者首先需要了解 Docker。

Deepo 是一系列 Docker 镜像,它的主要特征有:

  • 允许我们快速配置深度学习环境
  • 支持几乎所有常见的深度学习框架
  • 支持 GPU 加速(包括 CUDA 和 cuDNN), 同样在 CPU 中运行良好
  • 支持 Linux(CPU 版和 GPU 版)、OS X(CPU 版)、Windows(CPU 版)

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

本文为机器之心编译,转载请联系本公众号获得授权。

原文发布于微信公众号 - 机器之心(almosthuman2014)

原文发表时间:2017-12-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

如何打造一款可靠的WAF(Web应用防火墙)

之前写了一篇《WAF防御能力评测及工具》,是站在安全运维人员选型WAF产品的角度来考虑的(优先从测试角度考虑是前职业病,毕竟当过3年游戏测试?!)。本篇文章从W...

3705
来自专栏deed博客

预装Windows8的品牌电脑重装系统以及装双系统的那点事儿

1603
来自专栏技术翻译

Kubernetes扩展容器架构的7 个工具

Kubernetes是最初由Google开发的容器编排工具,已成为敏捷和DevOps团队的重要资源。作为一个开源工具,Kubernetes本身正在成为一个生态系...

1194
来自专栏云计算

​使用Docker Compose一条指令设置Mesos

如果你还没有使用过的Docker,你一定要试一试。纯粹的功能和质朴的用户体验将让你感到惊奇。在这篇文章中,我将告诉你如何通过Docker Compose来设置一...

2488
来自专栏编程坑太多

『中级篇』Kubenetes简介(60)

PS:了解我的老铁都知道,概念讲的少,更多重在实践,通过实践更好的理解概念,从下次开始怼k8s的环境和集群。如果跟我一起学的老铁,应该可以感受的到,在学习doc...

2273
来自专栏编程坑太多

跟我一起学docker(一)--认识

2134
来自专栏程序员同行者

Docker 入门

1173
来自专栏云计算

容器只是一个起点

容器,Docker,Kubernetes已经出现有四年了。以致于有些人甚至认为这项技术是成熟的!但是,我强烈认为,容器基础设施的构造任然处于成长阶段。

2299
来自专栏Albert陈凯

5分钟弄懂Docker

尽管之前久闻Docker的大名了,但是天资愚钝,对其到底是个啥东西一直摸不清,最近花了一段时间整理了一下,算是整理出一点头绪来。 官网的介绍是这样的: Do...

3455
来自专栏生信技能树

跟着jimmy学docker系列之第2讲:一个软件一个容器

回过头来看当初在生信技能树发布的docker教程已经是2017-07-07的事情了,那是一个好日子?:

1442

扫码关注云+社区

领取腾讯云代金券