48 lines
1.5 KiB
Markdown
48 lines
1.5 KiB
Markdown
### 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"`
|