Sign in

Software Engineer at HSBC | Distributed Systems & Machine Learning |

A comprehensive tutorial on using a Variational Autoencoder to generate new faces.

Photo by Vidushi Rajput on Unsplash


Deep generative models are gaining tremendous popularity, both in the industry as well as academic research. The idea of a computer program generating new human faces or new animals can be quite exciting. Deep generative models take a slightly different approach compared to supervised learning which we shall discuss very soon.

This tutorial covers the basics of Generative Deep Learning with Variational Autoencoders. I am assuming that you are fairly familiar with the concepts of Convolutional Neural Networks and representation learning. If not, I would recommend watching Andrej Karpathy’s CS231n lecture videos as they are, in my honest opinion, the…

Build a distributed food delivery application with Node.js and RabbitMQ. Learn how message-based asynchronous communication works in a distributed system.

Photo by Victor Larracuente on Unsplash


Most modern applications follow one of two thriving architectures — Monolithic or Microservices. In a Monolithic architecture, the application is structured as a single entity making it quite easy to develop, test and deploy. This is a good choice for small applications that do not anticipate a lot of changes. However, for large applications, a Monolithic architecture has proven to be difficult to maintain. The components that constitute a Monolithic architecture are tightly coupled. A small change introduced in one can severely affect the application, if not appropriately implemented. Microservices, on the contrary, segregate the various functionalities of an application…

Containerize a RESTful Node.js application to seamlessly run, ship and deploy it anywhere.

Photo by Alvaro Reyes on Unsplash


Docker is a platform that allows you to build, ship and run your application on any computer that also has Docker installed. If you’ve collaborated on a software development project, either at your workplace or for a hackathon, you would be aware that getting your application running on another plaform may not be so straightforward. As a developer, once you’ve managed to get your application running on your computer with Docker, it is guaranteed to run on other platforms — from laptops to virtual machines in the cloud! In essence, Docker helps solve the old “But it works on my…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store