Releases: jolibrain/deepdetect
DeepDetect v0.9.6 - BERT Pytorch + TensorRT 7 OSS + new OCR models
Features & updates
- BERT + GPT2 training / finetuning / inference with Torch C++ API #673
- TensorRT 5, 6 & 7 OSS #683
- lr dropout #668 as an implementation of https://arxiv.org/abs/1912.00144 (also see jolibrain/caffe#58)
- confidence on OCR/CTC output prediction #694
- support for logger inside
chain
actions #693 - added support for OCR models (CRNN) Squeeze-Excitation ResNet-50 and ResNeXt-50 #685
API changes
Bug fixes
DeepDetect v0.9.5 - Improvements & Fixes
This release brings improvements and fixes across training and inference backends, as summarized below.
Features & updates:
- Update to Dlib 19.18, #653
- Update to Tensorflow 1.13.1, #658
- Support for Dlib face feature extraction model and landmark shape predictor action via
chain
, #657 chain
now avoid image serialization in between multiple services and actions, #660- Added support for GPU selection via
gpuid
with TensorRT backend, #676 - Added a per-service mutex to TensorRT prediction calls, ref #659
API changes:
scale
allows to scale input image values from API (see #661)std
now allows a vector of float (see #661)
Bug fixes
DeepDetect v0.9.4 - Pytorch inference + FAISS search
This release brings two important features:
-
Pytorch models inference for image classification and BERT text classification #611 #616
A newmllib.pytorch
backend is introduced
Training Pytorch models is not yet released but available from a PR #637 -
Incremental indeixing & similarity search with FAISS #641
This is an alternative to the existing support for annoy. It allows incremental indexing as well as low-level index compression.
Early results show slightly better similarity search metrics than annoy, along with more options for improvements.
Build with-DUSE_FAISS=ON
withcmake
See API additions in #641
API changes:
-
Input image interpolation method selection via API #640
Theinterp
API parameter takes values from"linear","nearest","cubic","area","lanczos4"
. Fastest methods are"nearest"
then"linear"
, default remains"cubic"
. -
OpenCV GPU support with CUDA for image input resizing #642
input.cuda boolean
to resize input images on GPU, use-DUSE_CUDA_CV=ON passed to cmake
Requires OpenCV >= 3 -
No hardcoded limit on
tensorrt
compilationmaxBatchSize
#639 -
Measures update:
measures:["raw"]
returns full 'raw' measures for classification and detection tasks. This is useful for performing metrics analyses outside of DeepDetect. #648 #652 -
Added input connector
timeout
control at service creation and/or every predict call level #650 -
Additional low level controls over SSD object detection models via API #651
Includesssd_expand_ratio
,ssd_mining_type
, ...
Bug fixes:
DeepDetect v0.9.3.1 - Small improvements
This is a small release that fixes optimizer W (jolibrain/caffe#54) and adds support for trees in multi-model inference via /chain
(#629).
API changes:
- Support for multiple models inference organized as a tree (#629). This basically allows running inference of more than one model on the output of a parent model. E.g. detect vehicles in images, then run license plate detection and car color model on the vehicle crops, then OCR on the license plates only, in a single API call.
Bug fixes:
- Decoupled weight decay is now fixed, and implements default scheduler (jolibrain/caffe#54, from jolibrain/caffe#51), see https://arxiv.org/abs/1711.05101
DeepDetect v0.9.3 - Training optimizers update
This release mainly adds new optimizers to the Caffe backend, along with an important bug fix to the optimizer selection when training of models from scratch (not affecting transfer learning).
Main changes:
- Lookahead Optimizer: https://arxiv.org/abs/1907.08610, see #621
- Rectified Adam: https://arxiv.org/abs/1908.03265v1, see #628
- Decoupled Weight Decay Regularization: https://arxiv.org/abs/1711.05101, see #627
- Training learning rate warmup, see #623
Other changes:
- Improved
dede
server command line model start list behavior, see #620 - Learning rate value now returned on training status call and plotted on platform, see #624
Bug fixes:
- Fixed training optimizer selection when training models from scratch, see #626
API changes:
The new optimizers include improvements from some papers released this summer 2019. The main new training API parameters in the solver
object are:
parameters.solver.lookahead
: true/false, triggers lookahead optimizerparameters.solver.lookahead_steps
: default to 6parameters.solver.lookahead_alpha
: default to 0.5parameters.mllib.solver.warmup_lr
: initial learning rate linearly increased tobase_lr
overparameters.mllib.solver.warmup_iter
stepsparameters.mllib.solver.warmup_iter
: number of warmup stepsADAMW
,SGDW
andAMSGRADW
optimizers implemented decoupled weight decay regularizationparameters.mllib.solver.rectified
: activates the rectified optimization scheme
DeepDetect v0.9.2 - Multi-model chaining
This release mainly adds the new /chain
API that allows the execution of chains of models and actions. Typical usage is one or more object detectors on images, cropping and OCR.
The /chain
API is inference only at the moment with a limited set of actions, that is expected to grow. Implemented actions are image crops and class filters, see #605
Main changes:
- Multi-model
/chain
API, see #605 - Dlib backend update to 19.17, see #601
- XFS compatibility for all disk operations, see #602 (solves #50)
- NCNN model generation from Caffe model is now automated, see #612
- Update of Mapbox's C++ variant to v1.1.3, see #604
- NCNN input/output blob configuration from API, see #588
Bug fixes:
DeepDetect v0.9.1 - TensorRT backend
This release mainly adds support for TensorRT, including DLA acceleration on NVidia Xavier boards.
For a full report on performances for a variety of image models (classification and object detection) on various embedded boards (Jetson Nano, TX2 & Xavier), see Jolibrain's report here: https://www.jolibrain.com/reports/Jolibrain_DeepDetect_NVidia_Caffe_TensorRT_benchmarks_june_2019_2.pdf
Main changes:
- Support for TensorRT 5.x with
"mllib":"tensorrt"
API option (#594)- Automated compilation from Caffe models to TensorRT accelerated models
- Support for DLA on Xavier board
- Benchmark tool update for tensorRT (#589)
- Fix to object detection bounding boxes boundaries (#594)
- Support for residual networks with LSTMs for time-series (#583)
- Performances fixes for time-series (#583)
DeepDetect v0.9
While DeepDetect has been developed over the past 3 years, we've kept using the master branch as a single stable and continuous release.
DeepDetect v0.9 is the first versioned release that can thus accomodate new needs by customers and clients who need longer term releases as well as release notes to decide when to update/upgrade.
From this point on, DeepDetect releases will list bugfixes, changes and new features.
Note that the platform (https://www.deepdetect.com/platform) is bound to follow the DeepDetect server (this repository) versioning to ensure compatibility.
Dockers with tag v0.9
are available from https://hub.docker.com/u/jolibrain and the command line, e.g. docker pull jolibrain/deepdetect_cpu:v0.9