README.md

November 7, 2024 ยท View on GitHub

DeepDetect Logo

Open Source Deep Learning Server & API

Join the chat at https://gitter.im/beniz/deepdetect GitHub release (latest SemVer) GitHub Release Date GitHub commits since latest release (by date)

DeepDetect (https://www.deepdetect.com/) is a machine learning API and server written in C++11. It makes state of the art machine learning easy to work with and integrate into existing applications. It has support for both training and inference, with automatic conversion to embedded platforms with TensorRT (NVidia GPU) and NCNN (ARM CPU).

It implements support for supervised and unsupervised deep learning of images, text, time series and other data, with focus on simplicity and ease of use, test and connection into existing applications. It supports classification, object detection, segmentation, regression, autoencoders, ...

And it relies on external machine learning libraries through a very generic and flexible API. At the moment it has support for:

Please join the community on Gitter, where we help users get through with installation, API, neural nets and connection to external applications.


Build typeSTABLEDEVEL
SOURCE

All DeepDetect Docker images available from https://docker.jolibrain.com/.

  • To list all available images:
curl -X GET https://docker.jolibrain.com/v2/_catalog
  • To list an image available tags, e.g. for the deepdetect_cpu image:
curl -X GET https://docker.jolibrain.com/v2/deepdetect_cpu/tags/list

Main features

  • high-level API for machine learning and deep learning
  • support for Caffe, Tensorflow, XGBoost, T-SNE, Caffe2, NCNN, TensorRT, Pytorch
  • classification, regression, autoencoders, object detection, segmentation, time-series
  • JSON communication format
  • remote Python and Javacript clients
  • dedicated server with support for asynchronous training calls
  • high performances, benefit from multicore CPU and GPU
  • built-in similarity search via neural embeddings
  • 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 text files, sentences, and character-based models
  • connector to handle SVM file format for sparse data
  • range of built-in model assessment measures (e.g. F1, multiclass log loss, ...)
  • range of special losses (e.g Dice, contour, ...)
  • no database dependency and sync, all information and model parameters organized and available from the filesystem
  • flexible template output format to simplify connection to external applications
  • templates for the most useful neural architectures (e.g. Googlenet, Alexnet, ResNet, convnet, character-based convnet, mlp, logistic regression, SSD, DeepLab, PSPNet, U-Net, CRNN, ShuffleNet, SqueezeNet, MobileNet, RefineDet, VOVNet, ...)
  • support for sparse features and computations on both GPU and CPU
  • built-in similarity indexing and search of predicted features, images, objects and probability distributions
  • auto-generated documentation based on Swagger

Machine Learning functionalities per library

CaffeCaffe2XGBoostTensorRTNCNNLibtorchTensorflowT-SNEDlib
Serving
Training (CPU)YYYN/AN/AYNYN
Training (GPU)YYYN/AN/AYNYN
Inference (CPU)YYYNYYYN/AY
Inference (GPU)YYYYNYYN/AY
Models
ClassificationYYYYYYYN/AY
Object DetectionYYNYYNNN/AY
SegmentationYNNNNNNN/AN
RegressionYNYNNYNN/AN
AutoencoderYNN/ANNNNN/AN
NLPYNYNNYNYN
OCR / Seq2SeqYNNNYNNNN
Time-SeriesYNNNYYNNN
Data
CSVYNYNNNNYN
SVMYNYNNNNNN
Text wordsYNYNNNNNN
Text charactersYNNNNNNYN
ImagesYYNYYYYYY
Time-SeriesYNNNYNNNN

Tools and Clients

Models

CaffeTensorflowSourceTop-1 Accuracy (ImageNet)
AlexNetYNBVLC57.1%
SqueezeNetYNDeepScale59.5%
Inception v1 / GoogleNetYYBVLC / Google67.9%
Inception v2NYGoogle72.2%
Inception v3NYGoogle76.9%
Inception v4NYGoogle80.2%
ResNet 50YYMSR75.3%
ResNet 101YYMSR76.4%
ResNet 152YYMSR77%
Inception-ResNet-v2NYGoogle79.79%
VGG-16YYOxford70.5%
VGG-19YYOxford71.3%
ResNext 50YNhttps://github.com/terrychenism/ResNeXt76.9%
ResNext 101YNhttps://github.com/terrychenism/ResNeXt77.9%
ResNext 152YNhttps://github.com/terrychenism/ResNeXt78.7%
DenseNet-121YNhttps://github.com/shicai/DenseNet-Caffe74.9%
DenseNet-161YNhttps://github.com/shicai/DenseNet-Caffe77.6%
DenseNet-169YNhttps://github.com/shicai/DenseNet-Caffe76.1%
DenseNet-201YNhttps://github.com/shicai/DenseNet-Caffe77.3%
SE-BN-InceptionYNhttps://github.com/hujie-frank/SENet76.38%
SE-ResNet-50YNhttps://github.com/hujie-frank/SENet77.63%
SE-ResNet-101YNhttps://github.com/hujie-frank/SENet78.25%
SE-ResNet-152YNhttps://github.com/hujie-frank/SENet78.66%
SE-ResNext-50YNhttps://github.com/hujie-frank/SENet79.03%
SE-ResNext-101YNhttps://github.com/hujie-frank/SENet80.19%
SENetYNhttps://github.com/hujie-frank/SENet81.32%
VOC0712 (object detection)YNhttps://github.com/weiliu89/caffe/tree/ssd71.2 mAP
InceptionBN-21kYNhttps://github.com/pertusa/InceptionBN-21K-for-Caffe41.9%
Inception v3 5KNYhttps://github.com/openimages/dataset
5-point Face Landmarking Model (face detection)NNhttp://blog.dlib.net/2017/09/fast-multiclass-object-detection-in.html
Front/Rear vehicle detection (object detection)NNhttp://blog.dlib.net/2017/09/fast-multiclass-object-detection-in.html

More models:

References

Authors

DeepDetect is designed, implemented and supported by Jolibrain with the help of other contributors.