amyxie361 / pytorch_docker

tmux+zsh+anaconda+pytorch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Docker of anaconda with pytorch, tmux, zsh.

Installation

Suppose you have cuda already installed, and cuda version is cuda-9.0, now you can go ahead with the following steps.

# download this repo
$ git clone https://github.com/richardbaihe/pytorch_docker.git
$ cd pytorch_docker

1 install docker and nvidia-docker

# 1. install docker
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
# add user to docker group if you do not want sudo every time
$ sudo usermod -aG docker runoob 
$ systemctl enable docker

# check if docker is installed successfully
$ service docker start
$ docker run hello-world 

# 2. install nvidia-docker and nvidia-docker-plugin

# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
$ 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
# Add the package repositories
$ 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

# Install nvidia-docker2 and reload the Docker daemon configuration
$ sudo apt-get install -y nvidia-docker2
$ sudo pkill -SIGHUP dockerd

# Test nvidia-smi with the latest official CUDA image
$ docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi

2 build docker image

  • if you want a quick start, you can pull the image from docker hub and skip the build step
# pull from docker hub directly
$ docker pull richardbaihe/pytorch:gpu
# check
$ docker image ls
  • otherwise you need build your own image
  • keep in mind that all user name in zshrc and Dockerfile should be replace from "baihe" to your desired name
$ docker build -t pytorch:gpu -f Dockerfile .

# it will take a while, please wait...

$ docker image ls
REPOSITORY              TAG         IMAGE ID            CREATED             SIZE
pytorch                 gpu         70fbd709e31e        3 minutes ago       9.76GB
hello-world             latest      fce289e99eb9        20 minutes ago      1.84kB

3 start a container

  • Here, I prepare a datasets folder, a checkpoints folder and a projects folder to synchronize data between local file system and docker file system.
# start a container
$ docker container run -it \
    --name gpu_env \
    --runtime=nvidia -u baihe \
    --mount type=bind,source=/data/yqxie,target=/home/yqxie \
    --shm-size=16g richardbaihe/pytorch:gpu /bin/zsh

About

tmux+zsh+anaconda+pytorch


Languages

Language:Python 72.6%Language:Shell 16.2%Language:Dockerfile 11.2%