MXNet 深度学习实战 (22):搭建开发环境 2.2.2

阅读数:50 2019 年 12 月 28 日 22:58

MXNet深度学习实战(22):搭建开发环境 2.2.2

(使用仓库安装 Docker)

内容简介
本书分为四大部分:
第一部分为准备篇(第 1~2 章),简单介绍深度学习相关的基础背景知识、深度学习框架 MXNet 的发展过程和优缺点,同时介绍基础开发环境的构建和 docker 的使用,帮助读者构建必要的基础知识背景。
第二部分为基础篇(第 3~7 章),介绍 MXNet 的几个主要模块,介绍 MXNet 的数据读取、数据增强操作,同时介绍了常用网络层的含义及使用方法、常见网络结构的设计思想,以及介绍模型训练相关的参数配置。
第三部分为实战篇(第 8~10 章),以图像分类、目标检测和图像分割这三个常用领域为例介绍如何通过 MXNet 实现算法训练和模型测试,同时还将结合 MXNet 的接口详细介绍算法细节内容。
第四部分为扩展篇(第 11~12 章),主要介绍 Gluon 和 GluonCV。Gluon 接口是 MXNet 推出的用于动态构建网络结构的重要接口,GluonCV 则是一个专门为计算机视觉任务服务的深度学习库。

使用仓库安装 Docker 时需要先建立一个 Docker 仓库,然后就能基于该仓库进行 Docker 的安装和更新了,接下来我们先来看看如何创建这样的仓库。

首先我们需要利用 Linux 系统中的 apt-get 命令来安装后续所需的工具和库。apt-get 是 Linux 操作系统时一条用于安装、升级软件的命令,这个命令在你后续使用 Linux 系统时会经常遇到。在安装软件之前,一般可以先用下面的命令来更新软件源,因为在你使用 apt-get 时,会从默认的软件源下载所需的软件,更新软件源的目的是避免下载时找不到软件。

复制代码
$ sudo apt-get update

接下来安装一些必要的包,使得后续可以通过 HTTPS 来使用仓库。需要注意的是下面这条命令中的符号“\”是行与行之间的连接符(也称换行符),表示该行命令与下一行命令是同一行内容。之所以要用到符号“\”,主要是因为有些命令太长,难以容纳在本书的一行范围之内,因此实际输入命令时,读者既可以使用换行符也可以直接输入长命令。安装包的代码如下:

复制代码
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common

下载并添加 GPG 密钥:

复制代码
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

apt-key 命令可用于管理系统中的软件包密钥,该命令运行成功时会返回 OK。接下来即可输入以下命令验证是否成功添加 GPG 密钥,如果成功添加了 GPG 密钥则会显示相关的内容:

复制代码
$ sudo apt-key fingerprint 0EBFCD88
pub 4096R/0EBFCD88 2017-02-22
Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb) docker@docker.com
sub 4096R/F273FCD8 2017-02-22

稳定仓库(stable repository)是 Docker CE 从 17.03 版本开始的发布版本的方式之一,表示一个季度发布一次。相对应的是边缘仓库(edge repository),表示每个月发布一次。下面我以最常用的稳定仓库为例来进行介绍,输入以下命令,建立和添加一个稳定仓库:

复制代码
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

接下来就开始正式安装 Docker CE,首先是更新软件包的源列表,代码如下:

复制代码
$ sudo apt-get update

安装最新版本的 Docker CE,本书安装的是 Docker 18.03.1,代码如下:

复制代码
$ sudo apt-get install docker-ce

如果你想要安装指定版本的 Docker,那么可以先用以下命令列出你的仓库中可以获取的 Docker 版本(比如,下面的这个例子中列出了 Docker 18.03.1 和 Docker 18.03.0 两个版本):

复制代码
$ apt-cache madison docker-ce
docker-ce | 18.03.1~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
docker-ce | 18.03.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages

然后,根据前面命令列出的 Docker 版本安装指定版本的 Docker,代码如下:

复制代码
$ sudo apt-get install docker-ce=18.03.1~ce-0~ubuntu

安装成功后,可以查看 Docker 版本,代码如下:

复制代码
$ docker --version
Docker version 18.03.1-ce, build 9ee9f40

安装好 Docker 后,接下来可以通过 Docker 启动一个简单的镜像来熟悉 Docker 的使用。在 Docker 中,可以通过 run 命令来运行镜像,这里我选择一个名为 hello-world 的镜像。需要注意的是,一般我们在启动某个镜像之前都会先拉取该镜像到本地机器,但是如果在运行 run 命令之前本地机器没有该镜像,那么 run 命令会默认先从 Docker 官方镜像库( https://hub.docker.com/ )拉取对应名称的镜像到本地机器,然后基于该镜像启动一个容器。运行该命令后如果显示如下内容,则说明 Docker 安装成功:

复制代码
$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9bb5a5d4561a: Pull complete
Digest:
sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://cloud.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/

MXNet深度学习实战(22):搭建开发环境 2.2.2

购书地址 https://item.jd.com/12620056.html?dist=jd

评论

发布