General Information

DeepDetect is written in C++11 with professional support for Linux platforms.

The latest release can be found at DeepDetect Releases.

For the most up-to-date installation information, see the main README

Note: the platforms with support are Ubuntu 14.04 LTS and 16.04 LTS.

DeepDetect may also be compiled from source on other platforms such as OSX. If you need to do so and are experiencing difficulties, request help on Github.

Quickstart

See the Quickstart page if you do not want to install from sources and use pre-built Docker or Amazon AMI instead.

Installing from source

Prerequisite tools for downloading and building source code

  • Git
  • C++, gcc >= 4.8 or clang with support for C++11 (there are issues with Clang + Boost)
  • eigen for all matrix operations;
  • glog for logging events and debug;
  • gflags for command line parsing;
  • OpenCV >= 2.4
  • cppnetlib
  • Boost
  • curl
  • curlpp
  • utfcpp
  • gtest for unit testing (optional);

Caffe Dependencies:

  • CUDA 7 or 6.5 is required for using a GPU
  • BLAS via ATLAS, MKL, or OpenBLAS (with DeepDetect, OpenBLAS is default)
  • protobuf
  • IO libraries hdf5, leveldb, snappy, lmdb

Typically on Debian/Ubuntu Linux, do:

$ sudo apt-get install build-essential libgoogle-glog-dev libgflags-dev libeigen3-dev libopencv-dev libcppnetlib-dev libboost-dev libboost-iostreams-dev libcurlpp-dev libcurl4-openssl-dev protobuf-compiler libopenblas-dev libhdf5-dev libprotobuf-dev libleveldb-dev libsnappy-dev liblmdb-dev libutfcpp-dev

Build from source

If you are building for one or more GPUs, you may need to add CUDA to your ld path:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64

The building system takes care of downloading Caffe and XGBoost as needed, so to build DeepDetect do:

$ git clone https://github.com/beniz/deepdetect.git
$ cd deepdetect
$ mkdir build
$ cd build
$ cmake ..
$ make

If everything goes well, the deepdetect server exe is build/main/dede

Running the server

From the build repository, do:

./main/dede

You should see something similar to:

DeepDetect [ commit 73d4e638498d51254862572fe577a21ab8de2ef1 ]
Running DeepDetect HTTP server on localhost:8080

Use Ctrl-C to kill the server.

Running tests

Note: running tests requires the automated download of ~75Mb of datasets, and computations may take up to thirty minutes on a CPU-only machines.

To prepare for tests, compile with:

   $ cmake .. -DBUILD_TESTS=ON
   $ make
   $ ctest

Upgrading DeepDetect from sources

Upgrading DeepDetect is done from sources with git:

  $ cd deepdetect
  $ git pull
  $ cd build
  $ cmake ..
  $ make

DeepDetect documentation