Home

Awesome

<p align="center"><img src="https://www.deepdetect.com/img/icons/menu/sidebar/deepdetect.svg" alt="DeepDetect Logo" width="45%" /></p> <h1 align="center"> Open Source Deep Learning Server & API</h1>

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<img src="https://img.shields.io/github/v/release/jolibrain/deepdetect?color=success&sort=semver"><img src="https://img.shields.io/github/commits-since/jolibrain/deepdetect/latest/master">

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

curl -X GET https://docker.jolibrain.com/v2/_catalog
curl -X GET https://docker.jolibrain.com/v2/deepdetect_cpu/tags/list

Main features

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:

<!--- #FIXME(sileht): it's a feature detail, should be moved somewhere in deepdetect.com/server/docs/ ## Templates DeepDetect comes with a built-in system of neural network templates (Caffe backend only at the moment). This allows the creation of custom networks based on recognized architectures, for images, text and data, and with much simplicity. Usage: - specify `template` to use, from `mlp`, `convnet` and `resnet` - specify the architecture with the `layers` parameter: - for `mlp`, e.g. `[300,100,10]` - for `convnet`, e.g. `["1CR64","1CR128","2CR256","1024","512"], where the main pattern is `xCRy` where `y` is the number of outputs (feature maps), `CR` stands for Convolution + Activation (with `relu` as default), and `x` specifies the number of chained `CR` blocks without pooling. Pooling is applied between all `xCRy` - for `resnets`: - with images, e.g. `["Res50"]` where the main pattern is `ResX` with X the depth of the Resnet - with character-based models (text), use the `xCRy` pattern of convnets instead, with the main difference that `x` now specifies the number of chained `CR` blocks within a resnet block - for Resnets applied to CSV or SVM (sparse data), use the `mlp` pattern. In this latter case, at the moment, the `resnet` is built with blocks made of two layers for each specified layer after the first one. Here is an example: `[300,100,10]` means that a first hidden layer of size `300` is applied followed by a `resnet` block made of two `100` fully connected layer, and another block of two `10` fully connected layers. This is subjected to future changes and more control. -->

References

Authors

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