《MXNet深度学习实战》—2.2.4 安装nvidia-docker

举报
华章计算机 发表于 2019/06/16 16:49:42 2019/06/16
【摘要】 本节书摘来自华章计算机《MXNet深度学习实战》一书中的第2章,第2.2.4节,作者是魏凯峰。

2.2.4 安装nvidia-docker

安装好Docker后,你就可以开始使用镜像了。前面我们提到过如果要在MXNet中使用GPU,不仅要安装显卡驱动、CUDA和cuDNN,还需要安装支持GPU的MXNet版本,虽然在镜像中可以安装CUDA、cuDNN和MXNet,但是镜像中是没有显卡驱动的,因此如果你要在镜像中使用GPU,那么你还需要将本机的显卡驱动映射到Docker镜像中,这就需要安装nvidia-docker了,nvidia-docker的任务就是将显卡驱动映射到Docker镜像中。目前nvidia-docker版本主要是nvidia-docker1和nvidia-docker2,本书采用的是nvidia-docker2。接下来我们看看如何安装nvidia-docker2,主要参考官方链接进行安装。

首先如果你的机器上已经安装了nvidia-docker1,那么可以通过以下两条命令卸载和移除相关内容:

$ docker volume ls -q -f driver=nvidia-docker | \

    xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f

$ sudo apt-get purge -y nvidia-docker

接下来添加GPG key并建立一个仓库,注意接下来的操作最好以root用户进行,否则可能会出现一些问题。以root用户进行安装时,命令最前面的sudo可以删去,代码如下:

$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -

$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)

$ curl -s -L \

    https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \

    sudo tee /etc/apt/sources.list.d/nvidia-docker.list

$ sudo apt-get update

接下来就可以安装nvidia-docker2了,安装完成后需重新导入Docker配置文件,代码如下:

$ sudo apt-get install -y nvidia-docker2

$ sudo pkill -SIGHUP dockerd

安装好nvidia-docker2之后,就可以测试下该命令是否有效。这里我们启动一个名为nvidia/cuda的镜像(假如你的机器上没有该镜像,那么run命令在启动之前会自动拉取该镜像),然后在镜像中运行nvidia-smi命令。在前面我们介绍过,nvidia-smi命令是用来查看显卡信息的,因此如果你成功将显卡驱动映射到镜像中,那么就会得到如显卡信息:

$ docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi

如果你成功看到如图2-5所示的显卡信息,那么你现在已经可以在镜像中成功使用GPU了。

 image.png

图2-5 显卡信息

但是到这里还没有结束,如果你仔细看看上一条命令,会发现多了一个参数:--runtime=nvidia,如果你去掉这个参数再运行就会发现报错。若每次运行Docker镜像都加上这个参数还是有些麻烦的,解决方法是我们可以在配置文件中配置该参数,这个配置文件就是/etc/docker/daemon.json。可以通过如下命令打开该文件:

$ vim /etc/docker/daemon.json

可以看到里面的内容如图2-6所示。

 image.png

图2-6 原配置文件内容

这时,需要你添加一行使其变成如图2-7所示的内容。

 image.png

图2-7 修改后的配置文件内容

保存该文件的修改内容之后,接下来需要重启下Docker服务:

$ sudo service docker restart

最后,你可以使用以下命令在镜像中看到显卡驱动信息了:

$ docker run --rm nvidia/cuda nvidia-smi


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。