|
|
|
## Use the container (with docker ≥ 19.03) |
|
|
|
``` |
|
cd docker/ |
|
# Build: |
|
docker build --build-arg USER_ID=$UID -t detectron2:v0 . |
|
# Launch (require GPUs): |
|
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-compose ≥ 1.28.0) |
|
|
|
Install docker-compose and nvidia-docker-toolkit, then run: |
|
``` |
|
cd docker && USER_ID=$UID docker-compose run detectron2 |
|
``` |
|
|
|
## Use the deployment container (to test C++ examples) |
|
After building the base detectron2 container as above, do: |
|
``` |
|
# Build: |
|
docker build -t detectron2-deploy:v0 -f deploy.Dockerfile . |
|
# Launch: |
|
docker run --gpus all -it detectron2-deploy:v0 |
|
``` |
|
|
|
#### 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. |
|
|