End to End Machine Learning: From Data Collection to Deployment 🚀

By Ahmed Besbes, Marwan Debbiche Posted on Ven 22 novembre 2019 in Deployment tutorial • Tagged with Docker, AWS, PyTorch, Dash, deployment, Character Level CNN, Sentiment AnalysisLeave a comment

Today, we'll build an end to end machine learning application from scratch. To do this, we'll walk you through the process of collecting data, training a deep learning model, building a Dash application, putting everything in Docker and deploying to AWS.
This post is a little bit longer than usual but the different parts are independant and reusable in other projects.
Here is a video of what we'll be building 🎥

Continue reading

Introduction to AutoML with MLBox

By Axel de Romblay, Ahmed Besbes Posted on Mar 08 octobre 2019 in AutoML • Tagged with MLBoxLeave a comment

Today's post is very special. It's written in collaboration with Axel de Romblay the author of the MLBox Auto-ML package that has gained a lot of popularity these last years.
If you haven't heard about this library, go and check it out on github: It encompasses interesting features, it's gaining in maturity and is now under active development.
In this post, we'll show you how you can easily use it to train an automated machine learning pipeline for a classification problem. It'll start off by loading and cleaning the data, removing drift, launching a strong pipeline of accelerated optimization and generating predictions!

Continue reading

Introduction to Neural Networks and Deep Learning from scratch

By Ahmed Besbes Posted on Sam 31 août 2019 in Deep Learning Introduction • Tagged with Deep Learning, Tutorial, workshop, slides, presentationLeave a comment

If you're willing to understand how neural networks work behind the scene and debug the back-propagation algorithm step by step by yourself, these slides should be a good starting point.
We will cover deep learning popular applications, the concept of the artificial neuron and how it relates to the biological one, the perceptron and the multi-layer one. We'll also dive in activation functions, loss functions and formalize the training of a neural net via the back-propagation algorithm.
In the last part, you'll learn how to code a fully functioning trainable neural network from scratch. In pure python code only, with no frameworks involved.

Continue reading

Automate the diagnosis of Knee Injuries with Deep Learning part 3: Interpret models' predictions

By Ahmed Besbes Posted on Mer 21 août 2019 in Medical Imaging • Tagged with MRI, Medical Imaging, MRNet, Convolutional Neural Networks, PyTorch, interpretability, Class Activation Map, CAMLeave a comment

In this post, we will focus on interpretability to assess what the ACL tear detector we trained in the previous article actually learnt.
To do this, we'll explore a popular interpretability technique called Class Activation Map, applied when using convolutional neural networks that have a special architecture. By using this method, we'll highlight discriminative areas the network focus on before making a prediction when confronted with an image thus explaining the decision process and building trust.
CAM is also a generic method that can be applied to a variety of computer vision projects. So if you're looking for a way to make your CNNs interpretable you should read this tutorial and adapt the source code. Let's get started.

Continue reading

Automate the diagnosis of Knee Injuries with Deep Learning part 2: Building an ACL tear classifier

By Ahmed Besbes Posted on Dim 14 juillet 2019 in Medical Imaging • Tagged with MRI, Medical Imaging, Computer Vision, MRNet, Convolutional Neural Networks, PyTorch, image classificationLeave a comment

In this post, you'll build up on the intuitions you gathered on MRNet data by following the previous post. You'll learn how to use PyTorch to train an ACL tear classifier that sucessfully detects these injuries from MRIs with a very high performance. We'll dive into the code and we'll go through various tips and tricks ranging from transfer learning to data augmentation, stacking and handling medical images. You'll also learn about optimization tricks as well as how to organize your code efficiently. If you're a crafty AI engineer who wants to play with code to learn how things work, just keep reading !

Continue reading