Skip to content

Releases: jolibrain/deepdetect

DeepDetect v0.9.6 - BERT Pytorch + TensorRT 7 OSS + new OCR models

05 Oct 11:28
65fbb36
Compare
Choose a tag to compare

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

  • mllib.lr_dropout#668
  • image rotation action in chains #677

Bug fixes

  • inverted ymin and ymax in detection model output, #690
  • chain action crop failing when bbox is not within the image #693
  • fixed bug in raw measure data output for model calibration #679
  • fixed error message on wrong TensorRT model filename #681
  • fixed potentially empty chain output #692

DeepDetect v0.9.5 - Improvements & Fixes

31 Dec 09:00
a68b6c2
Compare
Choose a tag to compare

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

  • Pytorch inference fixes, #661
  • Fixed similarity search backend selection at build time, #666
  • Fix of raw measures output for object detection, #679
  • Compiler warnings reduction at build time, #664

DeepDetect v0.9.4 - Pytorch inference + FAISS search

22 Oct 09:26
2b61a52
Compare
Choose a tag to compare

This release brings two important features:

  • Pytorch models inference for image classification and BERT text classification #611 #616
    A new mllib.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 with cmake
    See API additions in #641

API changes:

  • Input image interpolation method selection via API #640
    The interp 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 compilation maxBatchSize #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
    Includes ssd_expand_ratio, ssd_mining_type, ...

Bug fixes:

  • Fixed tensorrt max batch size reading from filename when loading model #631
  • Fixes to /chain error handling #633
  • Fix to caffe2ncnn automatic conversion of models #634
  • Fix to main CMakeLists so that make -j$N is supported for main build #643
  • Fixed ambiguous var with TF input connector #646

DeepDetect v0.9.3.1 - Small improvements

02 Sep 05:23
8ae6462
Compare
Choose a tag to compare

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:

DeepDetect v0.9.3 - Training optimizers update

28 Aug 14:07
f477e89
Compare
Choose a tag to compare

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:

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 optimizer
  • parameters.solver.lookahead_steps: default to 6
  • parameters.solver.lookahead_alpha : default to 0.5
  • parameters.mllib.solver.warmup_lr: initial learning rate linearly increased to base_lr over parameters.mllib.solver.warmup_iter steps
  • parameters.mllib.solver.warmup_iter: number of warmup steps
  • ADAMW, SGDW and AMSGRADW optimizers implemented decoupled weight decay regularization
  • parameters.mllib.solver.rectified: activates the rectified optimization scheme

DeepDetect v0.9.2 - Multi-model chaining

02 Aug 11:10
00f98a4
Compare
Choose a tag to compare

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:

  • Fix to bounding boxes with TensorRT, #609
  • Fix crash with NCNN when the model directory is empty, see #613
  • Prevent automatic detection of URLs when URL is within a text sample, see #615
  • Fix builds on Raspberry 3 & 4, see #618

DeepDetect v0.9.1 - TensorRT backend

30 Jun 13:26
b5d5ff0
Compare
Choose a tag to compare

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

09 May 14:46
c1fdd1d
Compare
Choose a tag to compare

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