Image detection as a service: how we use APIs and deep learning to support our products
In this talk Laura will explain how to create an online image classifier by deploying deep learning models with the use of Flask and Docker. She will begin by giving an overview of some deep learning architectures and how models can be trained using the Keras library in order to extract a wealth of different information about the content of images. She will cover how to make inference calls to the trained models in order to obtain a probability and class label. There will be a walkthrough of some coded examples.
Laura will lead on to cover the Flask framework and explain how to set up a server which listens on a port and returns a response upon receiving an HTTP request. She will explain how the trained image classification models can be placed onto the server and from there make predictions on previously unseen images.
In the second part of the talk Laura will give an introduction to containerised technology how it can be used to package up the image classifier and ship it as one application. She will introduce the containerised platform Docker and explain how it can be used to create, deploy and run the application. Practicalities such as running on GPU and in the cloud will also be discussed. In addition there will be some tips for an effective Docker-based workflow along with advice on best practices.
The talk will conclude by reflecting upon the advantages and disadvantages of using Docker in order to serve machine learning models versus a commercial production system.
Outline/Structure of the Talk
- Training image classification models in Keras
- Serving predictions through a flask API
- Hosting the service on production with the use of Docker
- Practical implementation advice and best practices.
Participants will learn how to serve their models through a Flask API and deploy them as an application with the use of Docker.
Intermediate level Data Scientists interested in computer vision tasks and productionising models.
Prerequisites for Attendees
Participants should have a basic understanding of deep learning and image classification models.