DeepDetect v0.12.0

14 January 2021

DeepDetect release v0.12.0

DeepDetect v0.12.0 was released recently. Here we briefly review the main novel features and important release elements.

In summary:

Vision Transformer architectures

The Vision Transformer (ViT) architecture is an important step toward more efficient deep neural architectures.

This is actually such a nice and simple step that its adoption has been pretty quick within the Deep Learning research & development community. Several recent papers directly use or improve these architectures:

  • DeiT vision transformers from Facebook AI in Paris has interesting comments on the original paper and architecture. It also describes and tests two lighter ViT architectures, and they have been added to DeepDetect as well.

  • CLIP by OpenAI is a simple and very clever self-supervised system for training text to image recommenders. It uses ViT among other architectures for encoding images into actionable features.

You can find more information about ViT with DeepDetect in a recent blog post.

Torchvision image classification models

The ViT above is a very recent discovery. DeepDetect now has support for all other image classification deep neural architectures and models provided by Torchvision.

You can look at the full list of available image classification models.

Improvements to the NCNN backend

NCNN is a great library for neural network inference on ARM and embedded GPU devices.

DeepDetect has had support for NCNN for a while now, with custom modifications for running even complex recurrent networks for time-series and OCR.

DeepDetect v0.12 adds improvements and fixes mostly for image classification and object detection networks, This results in safer usage and more controled results.

Improved state-of-the-art time-series forecasting

DeepDetect has cutting edge support for building forecasting and anomaly detection models from time-series. This is especially useful for applications such as preventive maintenance etc…

DeepDetect now comes with an improved version of the very recent N-BEATS architecture, as well as for other more common architectures that rely on LSTMs and other recurrent layers. N-BEATS yield state-of-the-art results and is much more configurable than previous approaches.

This is expected to be detailed further in a small series of forthcoming blog posts.

High throughput REST API server with OATPP

OATPP is a young and great library for serving APIs in C++. It is now built into DeepDetect, though the server does not yet defaults to it. To use it you can start the DeepDetect server with:

./dede -jsonapi 3

The new REST API server has many qualities that will pervade the full DeepDetect C++ codebase in the near future. Most importantly, its will allow reinforcing the internal API validation and checks, resulting is better errors, faster results and more robust code overall. Great additions to come!