This tutorial sets an image object detector that will distinguish among 21 objects. The detector returns a bounding box for every detected object, centered around it along with a label, e.g. person, car, … This tutorial uses a pre-trained deep neural net on the VOC task.
A few examples:
The detecting service allows for an application to send images and to receive the set of bounding boxes per image in return, in JSON format.
Setting up an image classifier based on Imagenet This tutorial sets a classification service that will distinguish among 1000 different image tags, from ‘ambulance’ to ‘paddlock’, and more. It shows how to run a DeepDetect server with an image classification service based on a deep neural network pre-trained on a subset of Imagenet (ILSVRC12).
The machine learning service allows for an application to send images and to receive a set of tags describing this image in return.
This tutorial walks you through the training and using of a machine learning neural network model to classify newsgroup posts into twenty different categories. This makes use of a classical dataset in machine learning, often used for educational purposes.
Note: this tutorial deals with bag of words (BOW) models, another page is dedicated to the novel character-based models.
In summary, a repository contains 20 repositories of text files, each being a newsgroup post.
Training a model from a dataset in CSV format This tutorial walks you through the training and using of a machine learning neural network model to estimate the tree cover type based on tree data. This makes use of the well-known ‘Cover Type’ dataset, as presented in the Kaggle competition https://www.kaggle.com/c/forest-cover-type-prediction.
In summary, a CSV file contains numerical data about patches of forest land, and we will build a model that esimate the cover type of the patch, from 7 categories (e.
Training a model from a dataset in CSV format with XGBoost (gradient boosted trees) This tutorial shows how to train decision trees over a dataset in CSV format. Within the DeepDetect server, gradient boosted trees, a form of decision trees, are a very powerful alternative to deep neural networks.
they are easier to train, and often yield excellent results without much tuning they also capture patterns that can be different from those commonly captured by deep nets.
Training an image classifier service Requirement: a 4GB GPU Total running time: half a day to a full day Dataset download: ~7 hours Training time: xx hours In another tutorial it was shown how to setup an image classifier from an existing (i.e. pre-trained) neural network model. Here we show how to train this model with DeepDetect and the underlying Caffe library. This yields a useful example on how to train your own image recognition models.
Multi-GPU training with DeepDetect DeepDetect supports multi-GPU training via the Caffe backend. Make sure to read the Caffe Multi-GPU documentation to understand the good practices and lower details, though some of them are summarized below.
Multi-GPU applies similarly to any of the tutorials about training from [images], [CSV] or [SVM], by specifying the list of GPUs to be used to the gpuid API parameter.
Using GPU 1 (default is GPU 0)
Training on images with data augmentation Deep models for image classification and object recognition are often not robust enough for production. In practice they can easily be fooled, on purpose (e.g. via adversarial samples), or not (e.g. by noisy user generated content).
DeepDetect supports strong data augmentation for its Caffe backend and training of images.
User-Generated Content (UGC) In the real-world, user-generated content such as images from mobile phones, can be of variable quality.
Note: A more detailed version of this tutorial has been published on Elasticsearch’s blog
This tutorial sets a classification service that distinguishes among 1000 different image categories, from ‘ambulance’ to ‘paddlock’, and indexes images with their categories into an instance of ElasticSearch. For every image, the DeepDetect server can directly post and index the predicted categories into ElasticSearch. This means there’s no need for glue code in between the deep learning server and ElasticSearch.
Moving a service across servers It is often the case that a machine learning service is used in some application, while it is being refined on the side through many witty manipulations and trials. DeepDetect allows to quickly move machine learning services across servers, typically from a development to a production server.
Below we assume we are moving a service from development to production server:
production server is already running dede target service is service1 on production server, will be replaced by service2 we avoid any downtime Steps for moving a service from development to production server: