10 Deep Learning projects based on Apache MXNet

Apache MXNet is an Open Source library helping developers build, train and run Deep Learning models. In previous articles, I introduced you to its API and its main features.

In this article, I will focus on 10 Open Source projects applying MXNet to various use cases:

  • Deployment using Docker containers or Lambda functions,
  • Face recognition & detection,
  • Object detection & classification,
  • Optical character recognition,
  • Machine translation.
Do you feel your project should be on this list?
Get in touch :)

Deployment

So far, we ran our MXNet code on Amazon EC2 instances, just like any other Python application. As you may know, there are alternative ways to run code on AWS and they can be obviously applied to MXNet.

#1 — Continuous Delivery of MXNet APIs using Code* and Amazon ECS

Using a CloudFormation template, this project will create an automated workflow that will provision, configure and orchestrate a pipeline triggering deployment of any changes to your MXNet model or application code. You will orchestrate all of the changes into a deployment pipeline to achieve continuous delivery using CodePipeline and CodeBuild. You can deploy new MXNet APIs and make those available to your users in just minutes, not days or weeks.

More information in the companion blog post:

#2 — Deploying MXNet in a Lambda function

This is a reference application that predicts labels along with their probabilities for an image using a pre-trained model with Apache MXNet deployed on AWS Lambda. A Serverless Application Model template (SAM) and instructions are provided to automate the creation of an API endpoint.

You can leverage this package and its precompiled libraries to build your prediction pipeline on AWS Lambda with MXNet. Additional models can be found in the Model Zoo

More information the companion blog post:


Face recognition

#3 — Face detection

This project performs face and landmark detection.

It’s based on the following research article: 
K. Zhang and Z. Zhang and Z. Li and Y. Qiao Joint: Face Detection and Alignment Using Multitask Cascaded Convolutional Networks.

#4 — Face identification & facial features detection

This project provides features comparable to Amazon Rekognition. If you need the extra flexibility and are ready to dive deep, this could be a good starting point.

It’s based on the following research articles:


Object detection

#5 — Single Shot Detector

This project lets you detect and classify multiple objects in a single picture. It’s a reimplementation of an original Caffe project.

It is based on the following research article: 
Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C. Berg: Single Shot MultiBox DetectorSSD

#6 — Faster Single Shot Detector

This projects improves on the previous one by leveraging the multi-GPU capabilities of MXNet to speed up training and inference.

It’s based on the following research papers:

#7 #8 — Object detection on smartphones

These twin projects use a pre-trained Inception model to perform object detection on iOS and Android.


Optical Character Recognition

#9 — Reading licence plates

This project performs license plate recognition at 9 images/second on a Mac Book Pro with 81% accuracy. With a little effort, this can surely be adapted to other OCR use cases :)


Machine Translation

#10 — Sockeye

The Sockeye project is a sequence-to-sequence framework for Neural Machine Translation based on MXNet. It implements the encoder-decoder architecture with attention.

This one makes me VERY curious. I need to find out more ;)


That’s it for today. Kudos to all project authors for their fascinating work. I hope they will inspire you to get started with Deep Learning and MXNet.

And once again, thanks a lot for reading!