在 Ubuntu 上安装 https://docs.docker.com/install/linux/docker-ce/ubuntu/ 安装 Docker
根据 https://github.com/NVIDIA/nvidia-docker/wiki 安装
sudo docker pull mxnet/python:1.5.0_gpu_cu90_mkl_py3
sudo nvidia-docker run -it mxnet/python:1.5.0_gpu_cu90_mkl_py3 bash
apt-get update
apt install --assume-yes vim
apt-get install -y wget python-dev gcc
apt install python3-tk # Not apt-get
pip install gluoncv --upgrade
pip install scikit-image
pip install matplotlib
再在 ~/.bashrc 中修改好 alias
alias python='python3'
最后 exit 退出
sudo docker ps -a # Check the <CONTAINER ID>
sudo docker commit <CONTAINER ID> yimian/gluoncv:latest # ,→ Create the docker image
这个时候 yimian/gluoncv:latest 这个镜像已经有了, 只不过 sudo docker ps -a
你看不到, 如果运行一次 sudo nvidia-docker run -it yimian/gluoncv:latest bash
再用 sudo docker ps -a
看就好了
sudo docker login
sudo docker push yimian/gluoncv:latest
module load singularity
singularity build gluoncv.simg docker://yimian/gluoncv:latest
module load singularity
singularity exec --nv gluoncv.simg /bin/bash
不过注意一点, 虽然我在创建镜像的时候, 把 默认的 python3 改成了 python, 但是在运行该镜像后, 在 python 或者 python3 中是没有 mxnet 的, 需要用 python3.5 (原始镜像中带的 python 才可以.)
scp -r ~/Nutstore\ Files/Dataset/Iceberg [email protected]:~/datasets/
因为 Ocelote 上的 cudann 是 9.0, 但是不需要创建镜像的机器也必须是 cudann 9.0, 实际上我用的机器 Debug 是 10.1, 也能够创建好, 也能够在 Ocelote 上运行.