新睿云

> 知识库 > gpu云服务器使用Docker部署深度学习环境(下)

gpu云服务器使用Docker部署深度学习环境(下)

作者/来源:新睿云小编 发布时间:2020-02-21

、使用 Deepo 镜像

本文是系列文章

上篇请查看《gpu云服务器使用Docker部署深度学习环境(上)

中篇请查看《gpu云服务器使用Docker部署深度学习环境(中)

下篇请查看《gpu云服务器使用Docker部署深度学习环境(下)

现在的深度学习框架和工具不少,如果一个一个来安装感觉有点繁琐,这个时候就轮到 Deepo 出场了,Deepo的口号是:Set up deep learning environment in a single command line,通过一个命令设置(所有的)深度学习环境,这个命令当然是Docker了:

Deepo is a series of Docker images that

allows you to quickly set up your deep learning research environment
supports almost all commonly used deep learning frameworks
supports GPU acceleration (CUDA and cuDNN included), also works in CPU-only mode
works on Linux (CPU version/GPU version), Windows (CPU version) and OS X (CPU version)
and their Dockerfile generator that

allows you to customize your own environment with Lego-like modules
automatically resolves the dependencies for you

1.获取 Deepo 镜像:

docker pull ufoym/deepo

如果不指定标签,默认拉取的是最新的(latest) deepo 镜像,和Tensorflow Docker镜像一样,这个只支持CUDA10.x,在我的这台机器上无法运行,报错信息同上,所有我看了一下deepo的镜像标签,找了一个老一点的版本重新获取:

docker pull ufoym/deepo:all-py36-cu90

2.运行 Deepo镜像:

docker run --gpus all -it ufoym/deepo:all-py36-cu90 bash

root@b2028ad87b85:/# python

Python 3.6.8 (default, Dec 24 2018, 19:24:27)

[GCC 5.4.0 20160609] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import tensorflow

>>> import torch

>>> import keras

Using TensorFlow backend.

>>> import mxnet

>>> import cntk

>>> import theano

>>> import caffe2

>>> exit()

root@b2028ad87b85:/# caffe --version

caffe version 1.0.0

root@b2028ad87b85:/# darknet

usage: darknet

root@b2028ad87b85:/# th

 

  ______             __   |  Torch7

 /_  __/__  ________/ /   |  Scientific computing for Lua.

  / / / _ // __/ __/ _ /  |  Type ? for help

 /_/  /___/_/  /__/_//_/  |  https://github.com/torch

                          |  http://torch.ch


th>

看起来是相当方便的,为了最佳体验,推荐安装CUDA10,使用最新的Docker镜像版本。

二、一些 Tips

1.转移数据目录

Docker的数据目录默认位于/var/lib/docker,里面会存储着Docker镜像的数据,而这份数据会随着Docker镜像的增加而不断增加。历史遗留问题,我的根目录只有15G,在使用Docker过程中时不时的会提醒硬盘空间不足,所以如果其所在的硬盘分区空间较小,可以将其转移到大的磁盘分区。

service docker stop

mkdir /home/docker_data

mv /var/lib/docker /home/docker_ata

ln -s /home/docker_data/docker /var/lib/docker

service docker start

2.清理Docker占用的磁盘空间

查看Docker磁盘空间占用情况

docker system df

用于清理磁盘,删除关闭的容器、无用的数据卷和网络,以及 dangling 镜像(即无 tag 的镜像):

docker system prune

比较彻底的清理:

docker system prune -a

注意,这两个命令会把暂时关闭的容器,以及暂时没有用到的 Docker 镜像都删掉了,所以使用之前一定要想清楚

3. nvidia-docker版本
nvidia-docker不同版本用法不同,注意区分,我这边目前用的是最新版,之前的版本官方推荐升级

4.私有项目项目部署

深度学习项目有时候会产生一种需求,客户需要本地化私有部署或者指定GPU云服务器部署,这个时候Docker化深度学习项目就会比较方便,可以通过 Docker Registry 进行本地服务器搭建和打包,设置相应的私有镜像地址,在客户机器上只需要安装基础环境,剩下的就是直接进行pull和rename操作,在Dockerfile中通过supervisor之类的设置服务自启动。

热门标签
new year
在线咨询
咨询热线 400-0505-565
投诉与建议
{{item.description}}

—您的烦恼我们已经收到—

我们会将处理结果发送至您的手机

请耐心等待