Welcome to DeepDetect documentation

DeepDetect is a deep learning API and server written in C++11, along with a pure Web Platform for training and managing models.

DeepDetect aims at making the state of the art deep learning easy to work with and integrate into existing applications. It has support for backend machine learning libraries Caffe, Caffe2, Tensorflow, XGBoost, Dlib and NCNN.

DeepDetect boasts the following features:

General

  • High level & generic API for machine learning & deep learning
  • Web UI for training and managing models
  • JSON communication format
  • Remote Python client library
  • Embedded server with support for asynchronous training calls
  • High performance, benefits from multicore CPU and GPU
  • Flexible input / output connectors for text, images, raw data (CSV, SVM)
  • Flexible template output format to simplify connection to external applications (e.g. Elasticsearch, …)
  • No database dependency and sync, everything is organized on the filesystem

Machine Learning / Deep Learning

  • Support for state of the art Deep Learning via Caffe and Tensorflow libraries, and decision trees via XGBoost
  • Templates for the most useful neural architectures (e.g. Googlenet, Alexnet, NiN, mlp, convnet, logistic regression, ResNets, …)
  • Range of pre-trained state of the art models for text and images
  • Range of built-in model assessment measures (e.g. F1, multiclass log loss, …)
  • Support for multiple Machine Learning services, training and prediction calls in parallel
  • Makes the most out of CPUs and GPUs
  • Supervised learning, regression and prediction over images and other numerical and textual data, autoencoders, object detction, …

Models

  • 25+ pre-trained models ready to use for a range of applications, from OCR to image tagging, object detection and sentiment analysis
  • 25+ pre-trained models of various architectures to enable transfer learning, and thus faster training phase along with higher final accuracies with less data

Data

  • Built-in input connectors to ease the setup of a machine learning pipeline
  • Easy management large datasets of images
  • Easy management and preprocessing of CSV data files
  • Connector to handle large collections of images with on-the-fly data augmentation (e.g. rotations, mirroring, …)
  • Connector to handle CSV files with preprocessing capabilities
  • Connector to handle sparse data in SVM format
  • Connector to handle text files
  • Output connectors for various external applications can be setup through templates via the API, without code (e.g. for Elasticsearch, XML, SQL, …)

Related