
Abstract: In the last few years, training a well-performing Computer Vision (CV) model in Jupyter Notebooks became fairly straightforward if you use pretrained Deep Learning models and high-level libraries that abstract away much of the complexity (fastai, keras, pytorch-lightning are just a few examples).
The hard part is still incorporating this model into an application that runs in a production environment bringing value to the customers and our business.
A typical ML project lifecycle goes through 3 phases:
• Active exploration or proof-of-concept phase. Here we try many different approaches to data preprocessing, model architectures and hyper-parameter tuning with the goal to finally settle on the most promising combination
• Application development phase. Here we build all the “plumbing” around the model, that is: getting input data, massaging it into the right format, passing it to the model and, finally, serving the model’s output. The goal here is to end up with a version of an end-to-end application that is robust and well-performing enough to be considered for deployment to the production environment.
• Production deployment phase. Here we promote a well-tested version of the application from the development environment to the production environment.
In this talk, I’ll describe an approach that streamlines all three phases. As our demo project, I’ve selected a very common deployment pattern in CV projects: a CV model wrapped in a web API service. Automatic defect detection is an example problem I am addressing with this pattern.
I assume the target audience of this talk to be technical folks (e.g. Software Engineers, ML Engineers, Data Scientists) who are familiar with the general Machine Learning concepts, Python programming, CI/CD processes and Cloud infrastructure.
Bio: Most of Alex work experience involved solving data-science problems in various domains: physics, aerospace, telemetry/log analytics, image and video processing.
In the last couple of years, he became increasingly interested in the engineering side of ML projects: processes and tools needed to go from an idea to a production solution.
Currently, he works as a Solutions Engineer at Iterative.ai, helping clients extract the most value from tools.