You can run one of the automatic builds. 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):
nvidia-docker run -ti bvlc/caffe:gpu caffe --version
You might see an error about libdc1394, ignore it.
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
.
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"