Use the container (with docker ≥ 19.03)
cd docker/
# Build:
docker build --build-arg USER_ID=$UID -t detectron2:v0 .
# Run:
docker run --gpus all -it \
--shm-size=8gb --env="DISPLAY" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
--name=detectron2 detectron2:v0
# Grant docker access to host X server to show images
xhost +local:`docker inspect --format='{{ .Config.Hostname }}' detectron2`
Use the container (with docker < 19.03)
Install docker-compose and nvidia-docker2, then run:
cd docker && USER_ID=$UID docker-compose run detectron2
Using a persistent cache directory
You can prevent models from being re-downloaded on every run, by storing them in a cache directory.
To do this, add --volume=$HOME/.torch/fvcore_cache:/tmp:rw
in the run command.
Install new dependencies
Add the following to Dockerfile
to make persistent changes.
RUN sudo apt-get update && sudo apt-get install -y vim
Or run them in the container to make temporary changes.