【深度学习环境搭建<五>】深度学习中Docker开发环境的使用
0x00 下载镜像我们要复现的项目一般都用pytorch或者tensorflow框架,可以直接基于现有的pytorch或者tensorflow的Docker镜像,然后再在里面安装其他的包。下载地址:pytorch:https://hub.docker.com/r/pytorch/pytorch/tagstensorflow:https://hub.docker.com/r/tensorflow/t
0x00 下载镜像
我们要复现的项目一般都用pytorch
或者tensorflow
框架,可以直接基于现有的pytorch
或者tensorflow
的Docker镜像,然后再在里面安装其他的包。
下载地址:
- pytorch:https://hub.docker.com/r/pytorch/pytorch/tags
- tensorflow:https://hub.docker.com/r/tensorflow/tensorflow/tags
根据项目中的环境要求,选择相应的版本,然后pull下来,比如:
docker pull tensorflow/tensorflow:latest
如果提示:权限不够
尝试一:进入到docker组下面newgrp docker
尝试二:查看是否在docker组下面,id <你的用户名>
;如果不在docker组下面,联系我
注:以后运行docker报这个错都这么解决
0x01 创建新镜像
我们要在现有的镜像基础上再配置我们需要的python环境。
-
启动容器
docker run --rm -it --runtime=nvidia <上面pull下来的镜像名称:镜像的tag> /bin/bash 参数说明: --rm : 关闭终端就会将容器关闭,不用再手动清理了 -it : 终端 --runtime=nvidia:此选项允许我们使用宿主机中的GPU和Nvidia Driver 可选项: -v <宿主机上的路径>:<docker中要存放的路径> :可以将宿主机中的数据共享到docker的特定路径下,无论哪边修改数据都会同步
-
安装python包
可以在第一步中启动的容器中安装python的各种包了(和在正常ubuntu系统一样)
-
保存我们的新镜像
所有环境安装完以后,重新打开一个终端(刚才哪个终端不要关闭,关闭刚才配的环境就都没了)
-
查看上述运行的容器的容器ID
docker ps -a
-
制作新镜像
docker commit <1中查询到的容器ID> 新的镜像名:tag eg: docker commit 3469f73a3db8 cvit:latest
-
查看是否创建成功
docker images
如果存在,则说明你创建成功
-
0x02 在Pycharm中使用镜像环境
具体步骤:
-
打开pycharm, 选择File→Setting
-
在左侧菜单栏选择
Project:xxx
,然后选择它下面的Python Interpreter
-
点击右侧
Python Interpreter
选项最右边的按钮,选择Add
-
选择左侧菜单栏的
Docker
选项, -
然后点击右侧的
New
按钮(我这里已经加过了) -
配置一些信息,如图就行
-
点击OK以后就会进行连接,连接成功后就可以选择你要使用的镜像和里面的python环境了。
-
配置使用GPU
上述步骤结束以后,运行时发现会报错,如下
找不到Nvidia Driver,这时我们需要修改docker的守护进程:/etc/docker/daemon.json
向上述文件中添加一句:"default-runtime": "nvidia"
修改后内容如下:{ "default-runtime": "nvidia", "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } } }
-
重启docker
守护进程重启
sudo systemctl daemon-reload
重启docker服务
systemctl restart docker
0x03 一些闲话
本人创建了一个公众号,分享科研路上的小问题,新发现,欢迎关注公众号,给我留言!!!
一起奋发向上,攻克难题吧~~
更多推荐
所有评论(0)