Intro to machine learning on iOS: Using Core ML to recognize handwritten digits

Articles

After working on a couple of projects using handwritten text recognition, I’m in total awe of this technology: Send an image to a REST endpoint, wait for the machine learning magic to happen, and then receive a bunch of JSON data with your recognized text as the response /output—wow!

But I already “awed” a lot about this in a blog post a while back. For anyone who’s interested in it and doesn’t know how to get started — check this out:

Continue reading Intro to machine learning on iOS: Using Core ML to recognize handwritten digits

Gaussian NB In Android, Not Python!

Articles

Whether you are a beginner or a seasoned ML developer, you’ve probably heard about (and most likely implemented) the Naive Bayes classifier. These classifiers are very helpful when you have smaller datasets and lesser computational power.

You might be aware of the world-famous scikit-learn implementation commonly used in Python:

We’ll get our hands dirty with Gaussian Naïve Bayes, its math, and the Android implementation. We’ll use our algorithm on the Iris dataset.

Continue reading Gaussian NB In Android, Not Python!

Implementing activity and element transition animations in Android

Articles

Animations, if done correctly are always a delight to see. Especially when it comes to mobile apps—adding subtle animations here and there can help make your app stand out of the crowd and give it a more polished feel.

Google also gave animations the central stage when it unveiled its newest design language—Material Design—back in 2014!

Continue reading Implementing activity and element transition animations in Android

NLP Chronicles: spaCy, the NLP Library Built for Production

Articles

If you’re familiar with natural language processing or starting to learn about it, you might have come across NLTK (Natural Language Tool Kit), Stanford Core NLP, etc.

Think of it this way. Natural language processing (in Python) is a kingdom, and NLTK is the king. Everyone admires the king and respects what he has done for the kingdom. But there comes a time when every king should step down and make way for the next generation

Continue reading NLP Chronicles: spaCy, the NLP Library Built for Production

AutoML Vision Edge: Deploying and Running TensorFlow Models using Docker Containers

Articles

This is the fifth blog post in my AutoML Vision Edge series. The post will help you run AutoML Edge models on Docker containers. If you haven’t been following this blog post series till now, here’s a quick recap:

We started the series by learning how we can train and run inference on an edge-ready ML model in hours using Google Cloud’s AutoML.

Continue reading AutoML Vision Edge: Deploying and Running TensorFlow Models using Docker Containers

AutoML Vision Edge: Build machine learning models for mobile and edge devices—in hours

Articles

Though I support learning machine learning from scratch, I’m always interested in validating the classic Cost + Effort < Output.

Machine learning is interesting conceptually, but at the same time, it’s hard to understand for a beginner. A lot of effort is needed to master and understand the foundational mathematics and logic. But luckily, there are a number of tools available online to decrease these efforts exponentially. One of them is Google Cloud AutoML.

Continue reading AutoML Vision Edge: Build machine learning models for mobile and edge devices—in hours

Deep Video Portraits

Articles

Synthesizing and editing video portraits—i.e., videos framed to show a person’s head and upper body—is an important problem in computer graphics, with applications in video editing and movie postproduction, visual effects, visual dubbing, virtual reality, and telepresence, among others.

The problem of synthesizing a photo-realistic video portrait of a target actor that mimics the actions of a source actor—and especially where the source and target actors can be different subjects—is still an open problem.

Continue reading Deep Video Portraits

Hardware acceleration for machine learning on Apple and Android devices

Articles

Recently, Apple showcased its new iPhone lineup, launching the iPhone XS, XS max, and XR. The most remarkable feature Apple included in this new line of devices is their smartest and most powerful chip ever — the A12 Bionic SoC (system on a chip).

Apple claims it has an 8-core Neural Engine dedicated to advanced, real-time machine learning applications. Similarly, Google has improved the Neural Net API in its Android framework in the latest OS: 9.0 Pie. Both of these features are responsible for something called hardware acceleration.

Continue reading “Hardware acceleration for machine learning on Apple and Android devices”

Using Lottie on Android to display dynamic animations in your apps

Articles

There’s a saying that goes like this: A picture is worth a thousand words, while an animation is worth a thousand pictures (which in turn means that it is worth a million words 😉)!

This is especially true in mobile applications, where effective animations can communicate to users what an app (or certain features within an app) is supposed to do. This is always a tough task, but tougher when we only rely on text or static images.

Continue reading Using Lottie on Android to display dynamic animations in your apps