| ### Running an official image |
|
|
| You can run one of the automatic [builds](https://hub.docker.com/r/bvlc/caffe). E.g. for the CPU version: |
|
|
| `docker run -ti bvlc/caffe:cpu caffe --version` |
|
|
| or for GPU support (You need a CUDA 8.0 capable driver and |
| [nvidia-docker](https://github.com/NVIDIA/nvidia-docker)): |
|
|
| `nvidia-docker run -ti bvlc/caffe:gpu caffe --version` |
|
|
| You might see an error about libdc1394, ignore it. |
|
|
| ### Docker run options |
|
|
| By default caffe runs as root, thus any output files, e.g. snapshots, will be owned |
| by root. It also runs by default in a container-private folder. |
|
|
| You can change this using flags, like user (-u), current directory, and volumes (-w and -v). |
| E.g. this behaves like the usual caffe executable: |
|
|
| `docker run --rm -u $(id -u):$(id -g) -v $(pwd):$(pwd) -w $(pwd) bvlc/caffe:cpu caffe train --solver=example_solver.prototxt` |
|
|
| Containers can also be used interactively, specifying e.g. `bash` or `ipython` |
| instead of `caffe`. |
|
|
| ``` |
| docker run -ti bvlc/caffe:cpu ipython |
| import caffe |
| ... |
| ``` |
|
|
| The caffe build requirements are included in the container, so this can be used to |
| build and run custom versions of caffe. Also, `caffe/python` is in PATH, so python |
| utilities can be used directly, e.g. `draw_net.py`, `classify.py`, or `detect.py`. |
|
|
| ### Building images yourself |
|
|
| Examples: |
|
|
| `docker build -t caffe:cpu cpu` |
|
|
| `docker build -t caffe:gpu gpu` |
|
|
| You can also build Caffe and run the tests in the image: |
|
|
| `docker run -ti caffe:cpu bash -c "cd /opt/caffe/build; make runtest"` |
|
|