docker完整深度学习环境搭建
Docker容器是非常方便的虚拟机,并且在虚拟机下拥有root权限。这样既可以获取较高的权限,又可以避免对主机文件带来误操作。
# 更新
$ sudo apt-get update
# 安装最新的Docker
sudo apt-get install docker.io
# 启动
sudo systemctl enable docker
sudo systemctl start docker
sudo docker create ubuntu:18.04
1、docker命令
(1) 我们可以使用 docker images 来列出本地主机上的镜像。
(2) 创建并运行docker容器:docker run -d -it -p 1088:8888 -p 1022:22 -p 1059:5900 -v /server/data:/docker/data --gpus all --shm-size="32g" yehx:base /bin/bash
-p:docker端口映射,冒号前为主机端口号,冒号后为docker容器端口号。
-v:docker共享文件夹,冒号前为主机文件夹,冒号后为docker容器文件夹。
--gpus all:docker中可使用GPU。
--shm-size="32g":docker默认的最大内存较小,这里修改为32G内存,可根据修改自行替换为其他值。
yehx:base:镜像名称,为docker images返回中的一个,需替换成所用的容器名称。
(3)查看docker状态:docker ps -a,可查看docker状态,以及容器ID(countainerID)。
(4)进入docker:docker exec -it countainerID /bin/bash,countainerID一般较长,只需前几个数字就可以了,系统会自动识别。
(5)停止docker,docker stop countainerID。
(6)启动docker,docker start countainerID,然后运行第(4)步进入docker。
(7)删除docker,docker rm countainerID,运行前先通过第(5)步停止docker。
2、docker安装ssh服务
(1)安装ssh服务:apt-get update,apt-get install sshd。
(2)启动服务:service ssh start。
(3) 关闭服务:service ssh stop。
(4)重启服务:service ssh restart。
(5) 查看服务是否正常运行:service ssh status。
(6)注意事项:将etc/ssh/sshd_config文件中PermitRootLogin 设为yes,否则有可能出现权限问题。
(7)这样就可以通过ssh访问docker了,如果按照1-(2)中设置了1022端口映射,那么即可通过该端口进行ssh连接。
3、深度学习环境
(1)python miniconda 安装
1)wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py37_4.8.2-Linux-x86_64.sh
2)bash Miniconda3-py37_4.8.2-Linux-x86_64.sh
3)source ~/.bashrc
(2)conda使用
1)查看安装包:conda list
2)查看虚拟环境:conda env list
3)创建虚拟环境:conda create -n env_name python=3.7
4)安装包:conda install -n env_name [package]
5)激活环境:conda activate env_name
(3)pytorch安装
Previous PyTorch Versions | PyTorch
(4)cuda安装
1)下载.run文件:(直接去nvidia官网下载),下面以安装cuda10.1为例。
wget http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run
2)给run文件增加可执行权限:chmod +x cuda_10.1.243_418.87.00_linux.run
3)运行安装程序:./cuda_10.1.243_418.87.00_linux.run
4)注意事项:运行安装程序中,在选择是否安装driver时选择no,否则会安装不成功。
5)多卡训练:CUDA_VISIBLE_DEVICES=1,2 python my_script.py
(5)jupyter notebook 安装
1)conda install jupyter notebook
2)jupyter notebook --generate-config
c.NotebookApp.allow_remote_access = True
c.NotebookApp.allow_root = True
c.NotebookApp.ip = '0.0.0.0'
3)jupyter notebook password
4)后台运行:nohup jupyter notebook &
5)这样默认8888端口访问notebook,如果按照1-(2)中设置了1088端口映射,那么通过1088端口即可访问notebook。
Debug:
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]
https://www.cnblogs.com/dan-baishucaizi/p/15102419.html
https://blog.csdn.net/BigData_Mining/article/details/104991349
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - 正常会显示OK
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list 我的系统是Ubuntu18.04
sudo apt-get update 这一步要保证没得问题,我的显示有几个源重复配置,然后我就将其(sudo vim nvidia-docker.list)注释掉
sudo apt-get install nvidia-container-toolkit
sudo apt-get install nvidia-container-runtime
sudo systemctl restart docker
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!