《MXNet深度学习实战》—2.2.5 通过Docker使用MXNet
2.2.5 通过Docker使用MXNet
介绍完Docker和nvidia-docker的安装之后,接下来就可以从镜像库中拉取一个MXNet镜像,然后在该镜像中使用MXNet。Docker官方仓库中提供了多种多样的MXNet镜像,地址是:https://hub.docker.com/r/mxnet/。该地址中具有多种API对应的MXNet镜像,这里我们选择Python API对应的mxnet/python。在Docker中,可以通过docker pull命令来拉取镜像,因为镜像名的命名规则一般是“仓库名:标签”,比如“mxnet/python:gpu”,
由于本书采用的是MXNet 1.3.1、CUDA 8.0和Python3.x,因此可以通过如下命令拉取镜像名为mxnet/python:1.3.1_gpu_cu80的镜像:
$ docker pull mxnet/python:1.3.1_gpu_cu80_py3
镜像标签可以在链接https://hub.docker.com/r/mxnet/中找到,如图2-8所示。习惯上是使用标签来表明该镜像内安装的主要内容和版本,比如标签1.3.1_gpu_cu80_py3表示安装了MXNet 1.3.1、CUDA 8.0和Python3.x,因此借助Docker和其丰富的镜像库,实际上你并不需要安装MXNet和CUDA。
图2-8 MXNet镜像名列表
接下来就通过Docker的run命令进入指定镜像从而启动一个容器并开始一些简单的操作吧进入指定镜像代码如下:
$ docker run --rm -it mxnet/python:1.3.1_gpu_cu80_py3 bash
其中,“--rm”参数表示退出容器后自动删除该容器,“-it”参数则用来表示指定镜像名称,如果成功启动了容器,则命令行的前缀如下所示:
root@ab8b0de5e6ae:/#
符号@后面的字符串表示启动的容器的ID。接下来你的所有操作都是在这个容器环境中,不会影响到机器环境。然后可以通过Python3命令进入Python环境(在该镜像中默认使用的Python版本是3.5.2),若导入MXNet没有报错,则说明可以正常使用MXNet了:
root@ab8b0de5e6ae:/# python3
Python 3.5.2 (default, Nov 12 2018, 13:43:14)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mxnet as mx
>>>
接下来可以执行一些简单的操作,代码如下:
root@ab8b0de5e6ae:/# python3
Python 3.5.2 (default, Nov 12 2018, 13:43:14)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mxnet as mx
>>> a = mx.nd.array([1,2,3]).as_in_context(mx.gpu(0))
>>> b = mx.nd.array([4,5,6]).as_in_context(mx.gpu(0))
>>> print(a+b)
输出结果如下:
[5. 7. 9.]
<NDArray 3 @gpu(0)>
本书后续的Python代码前默认不加“>>>”符号。
- 点赞
- 收藏
- 关注作者
评论(0)