Swift 5: Memory Management

Articles

It would be great if we as devs got to play with limitless memory and never had to care about working with it judiciously. Unfortunately, that isn’t true, and hence, we have to behave like a renter to the OS—rent the memory for a while, use the memory, and then hand it back.

Swift is a smart language, and it knows that many devs don’t like handing the memory back to the environment; hence, it keeps track of the allocated memory using a mechanism called ARC (automatic reference counting).

Continue reading Swift 5: Memory Management

Introduction to CameraX on Android

Articles

Developing with the camera on Android can be difficult. When we need to develop a camera-based application, we need to do a lot of manual work, and we need to do handle a lot of complex things with the Camera API, like handling preview screens, image rotations, and much more

At Google IO 2019, Google added another powerful tool for camera development in Android called CameraX as part of Jetpack.

Continue reading Introduction to CameraX on Android

Learn how to display and manage notifications in Android

Articles

In this post, we are going to investigate a relatively newer field in deep learning which involves graphs — a very important and widely used data structure. This post encompasses the basics of graphs, the amalgamation of graphs and deep learning, and a basic idea about graph neural networks and their applications. We will also briefly discuss on how to build graphs with a Python library called NetworkX

Continue reading Learn how to display and manage notifications in Android

Machine Learning in Dask

Articles

Processing a couple of gigabytes of data on one’s laptop is usually an uphill task, unless the laptop has high RAM and a whole lot of compute power.

That notwithstanding, data scientists still have to look for alternative solutions to deal with this problem. Some of the hacks involve tweaking Pandas to enable it to process huge datasets, buying a GPU machine, or purchasing compute power on the cloud. In this piece, we’ll see how we can use Dask to work with large datasets on our local machines.

Continue reading “Machine Learning in Dask”

Customize Google Maps In Android

Articles

You’ve got a great product, and you want to match this up with the way your mobile application looks and feels. This kind of consistency matters for creating engaging user experiences. And let’s say, in this app, you need to use maps in a way that fits your brand.

Luckily, there’s a way to easily create custom styles on Google Maps. With custom styling, you can change the look and feel of your map according to your desired needs.

Continue reading Customize Google Maps In Android

DeOldify: Visualizing Image Colorization with Hyper-Realistic Artwork

Articles

Image colorization may have been reserved for those with artistic talent in the past, but now anyone with basic programming knowledge can get in on the action. Thanks to projects like DeOldify, we can colorize black and white images and video with minimal setup! The project even includes pre-trained weights, so you don’t need to spend time training on your machine.

Continue reading DeOldify: Visualizing Image Colorization with Hyper-Realistic Artwork

Edge TPU: Hands-On with Google’s Coral USB Accelerator

Articles

Traditionally, AI solutions have needed a large amount of parallel computational processing power. So for a long time, a requirement of AI-based service was server-based Internet connectivity. But solutions that require real-time action need on-device computation—this is where edge AI enters the picture.

You can use GPU-based devices, but it makes the process costly, and with this come the problems of bloated size and high energy consumption. But more and more, edge AI is becoming an essential part of the ongoing deep learning revolution, both in terms of research and innovation.

Continue reading Edge TPU: Hands-On with Google’s Coral USB Accelerator

Deploying a Text Classification Model Using Flask and Vue.js

Articles

Successful machine learning models are developed to serve and bring value to an end user. Whether the end user is a customer or domain expert, the full value of data science is only realized by operationalizing the workflow and exposing model predictions and insights to the end user. End users consume and interact with models in different contexts—via a web application, mobile application, or a command line API request.

Continue reading Deploying a Text Classification Model Using Flask and Vue.js

Federated Learning: An Introduction

Articles

Advancements in the power of machine learning have brought with them major data privacy concerns. This is especially true when it comes to training machine learning models with data obtained from the interaction of users with devices such as smartphones.

So the big question is, how do we train and improve these on-device machine learning models without sharing personally-identifiable data? That is the question that we’ll seek to answer in this look at a technique known as federated learning.

Continue reading Federated Learning: An Introduction

10 Tips to Speed Up Android Gradle Build Times

Articles

Slow build speed is a huge momentum buster. It’s kind of like driving down the road and constantly hitting speed bump after speed bump. Build speed is critical to your productivity, and over the past few years, the Android team has consistently focused on improving build speed performance.

After implementing the tips in this article, we’ll be able to speed up development build times by 3x, 4x—sometimes even up to 10x. All by simply applying a set of best practices.

Continue reading 10 Tips to Speed Up Android Gradle Build Times