Linux:通过Docker后台搭建深度学习环境不久前,有朋友给我转发了一个链接。我看到是马爸爸在疫情期间送温暖。全日制大学生可以获得2核4GECS。前半年,快到期时,可续期半年。真香!之前买的学生机一年120大洋,只有1核2G!正好最近深度学习课堂实验比较多,笔记本电脑还要做其他事情,所以弄了一台准备用来跑数据。记录一下用Docker配置环境的方法,以免以后忘记。配置:传送门:疫情期间接收ECSDocker安装首先确保你获得了ECS(这不是废话2333),然后用任何SSH软件,putty/Xshell之类的连接上去。然后开始Docker安装。不熟悉Docker的同学可以先了解一下,非常好用的工具。首先,下定决心升级yum:yum-yupdateDocker包已经包含在默认的CentOS-Extras软件源中。于是下一步直接:yuminstalldocker安装完成。王者荣耀Docker,启动!$systemctlstartdocker设置开机启动:$systemctlenabledockerDocker安装完成。DeepoDockerHub搜索了一个比较完整的深度学习框架的图片。我看到了ufoym/deepo图片。Deepo是一系列docker镜像,可以让你快速搭建你的深度学习研究环境支持几乎所有常用的深度学习框架支持GPU加速(包括CUDA和cuDNN),也可以在LinuxCPU版本,Windows上的CPU-onlymodelworks上运行而OS他们的Dockerfilegenerator可以让你自定义自己的环境,像乐高一样的模块,自动为你解决依赖关系,非常方便,所以就决定用他了。因为是ECS,没有显卡,所以不能用CUDA,直接进入CPUMode。安装下载图像。dockerpullufoym/deepo:cpu使用启动容器运行。两种方式:1.如果不需要Jupyter,直接运行python文件,像这样:dockerrun-it--ipc=host-v/Data/py_workspace:/dataufoym/deepo:cpubashwhere-v/Data/py_workspace:/data的意思是:将硬盘上的/Data/py_workspace映射到容器中的/data目录下。可以根据自己的文件位置自行更改。比如我是这样设置的,那么进入容器中的/data目录就可以访问到我硬盘中/Data/py_workspace文件夹中的内容,如图。其次,它还可以与Jupyter一起运行。dockerrun-i-p8888:8888--ipc=host-v/Data/py_workspace:/dataufoym/deepo:cpujupyternotebook--no-browser--ip=0.0.0.0--allow-root--NotebookApp.token=7c4a8d09ca3762af61e59520943dc26494f8941b--notebook-dir='/data'其中NotebookApp.token=后跟一串密码,由sha1加密。你可以找任何一个sha1在线加密网站来生成。-p8888:8888表示将外部8888端口映射到容器8888端口。运行后直接用浏览器访问ECS的8888端口。登录吧,输入密码,注意是sha1加密后的字符串。成功。试试看。是不是很方便。无需听到风扇的呼呼声。运维在没有jupyter的情况下按Ctrl+P+Q可以让容器后台运行。如果要重新进入容器,先查看容器id:dockerps然后进入容器:dockerexec-itcontainerid/bin/bash使用Jupyter,我直接在后台运行nohup命令,因为我不非常喜欢用Jupyter。研究:nohupdockerrun-i-p8888:8888--ipc=host-v/Data/py_workspace:/dataufoym/deepo:cpujupyternotebook--no-browser--ip=0.0.0.0--allow-root--NotebookApp.token=7c4a8d09ca3762af61e59520943dc26494f8941b--notebook-dir='/data'>/Data/py_jupyter.out&嗯,有需要的同学可以试试!
