Build from source

Below are instructions for Ubuntu 18.04 LTS.


Dependencies on Debian/Ubuntu Linux:

sudo apt-get install build-essential libgoogle-glog-dev libgflags-dev \
  libeigen3-dev libopencv-dev libboost-dev libboost-iostreams-dev \
  libcurl4-openssl-dev protobuf-compiler libopenblas-dev libhdf5-dev \
  libprotobuf-dev libleveldb-dev libsnappy-dev liblmdb-dev libutfcpp-dev \
  cmake libgoogle-perftools-dev unzip python-setuptools python-dev \
  libspdlog-dev python-six python-enum34 libarchive-dev \
  python3-yaml rapidjson-dev libmapbox-variant-dev

On Ubuntu 18.04 or Nvidia Jetson, the network library cppnetlib is not part of the standard packages anymore and needs to be compiled beforehand:

sudo apt-get install libboost-all-dev libssl-dev

tar xvzf cpp-netlib-0.11.2-final.tar.gz
cd cpp-netlib-cpp-netlib-0.11.2-final
mkdir build
cd build
cmake ..
sudo make install

With CUDA 10, a more recent version of cmake than that of Ubuntu 18.04 is required, and needs to be installed beforehand:

tar xvzf cmake-3.14.0.tar.gz
cd cmake-3.14.0
sudo make install


git clone
cd deepdetect

Post installation step, you may need to add CUDA to your LD PATH:

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

Run tests

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

To prepare for tests, compile with:


Run tests with:


Start the DeepDetect server

cd build/main

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

Main options are:

  • -host to select which host to run on, default is localhost, use to listen on all interfaces
  • -port to select which port to listen to, default is 8080
  • -nthreads to select the number of HTTP threads, default is 10

To see all options, do:

./dede --help

You can now try the available models.