There are several options for installing Scanner:

  • Docker: The easiest way to get started with Scanner is using our pre-built Docker images.

  • Homebrew: On MacOS, you can install using the unofficial package manager Homebrew.

  • From Source: Scanner has out-of-the-box compatibility with frameworks like OpenCV and Caffe, but the flip side is that installing all of the dependencies can take a long time, which is why we recommend Docker for users just getting started.


Docker is a service for managing containers, which you can think of as lightweight virtual machines. If you want to run Scanner in a distributed setting (e.g. on a cloud platform), Docker is essential for providing a consistent runtime environment on your worker machines, but it’s also useful for testing locally to avoid having to install all of Scanner’s dependencies. We provide prebuilt Docker images containing Scanner and all its dependencies (e.g. OpenCV) at scannerresearch/scanner. We also provide Docker images containing Scanner along with all the standard library kernels in Scannertools at scannerresearch/scannertools.

To start using Scanner with Docker, first install Docker. If you have a GPU and you’re running on Linux, you can install nvidia-docker (which provides GPU support inside Docker containers). Then run:

pip3 install --upgrade docker-compose
docker-compose run --service-ports cpu /bin/bash

If you installed nvidia-docker, then use gpu intead of cpu in the above docker-compose commands.

This installs the docker-compose utility which helps manage Docker containers. It uses the docker-compose.yml configuration file to create an instance of the Scanner docker image.

The full set of docker configurations we provide are:

  • scannerresearch/scannertools:cpu-VERSION - CPU-only build

  • scannerresearch/scannertools:gpu-9.1-cudnn7-VERSION - CUDA 9.1, CUDNN 7

  • scannerresearch/scannertools:gpu-9.0-cudnn7-VERSION - CUDA 9.0, CUDNN 7

  • scannerresearch/scannertools:gpu-8.0-cudnn6-VERSION - CUDA 8.0, CUDNN 6

where VERSION is one of:

  • latest - The most recent build of the master branch

  • vX.X.X - A git tag (where X is an integer)


Homebrew installation for Scanner is coming soon. Check back in a couple weeks!

From Source

Building Scanner from source is a bit more involved than the other installation options. Check out the Building Scanner from source page for more information.