Data scientist & TensorFlow developer

Introducing an ML framework written in Go from scratch.

Python is known as the king of data science. Its usage has exploded in the last decade and with ML libraries such as TensorFlow, PyTorch, Caffe and more, it has made code extraordinarily easy to write. The underlying C/C++ software provides the ultimate behind-the-scenes numerical computations, so that a data scientist can focus on the real work. Which is great, but doesn’t change the fact that python is slow.

I’m here to tell you why Go is the new preferred ML programming language and that my keras equivalent neural network architecture will lead the way.

Photo by Kevin Ku on Unsplash

I started my programming journey…

Tackling Graph Algorithms by its Core


You may not recognize them, but graphs are an essential part of every day. Their applications make the dream work. Let’s work through them. If you feel you’ve mastered this part already, feel free to skip ahead :)

Photo by Brecht Denil on Unsplash

Here’s a proper introduction by example. Road network! Assuming you have a map of the UK in front of you, what you’d like is to represent the cities and the roads between. At this point, I can introduce two out of three key components of graphs: Edges and vertices(or nodes).

Be a part of a Medium publication dedicated to tearing AI problems apart

Photo by NeONBRAND on Unsplash


Powerful AI is an independent Medium Publication that focuses on having state-of-the-art AI algorithms up and running. We are engaged in writers who are looking to focus their expertise on deep learning, programming, coding, AI&ML and so much more. Here at Powerful AI, we build from the bottom up.

Becoming a writer for Powerful AI to earn money through the Medium Partner Program. You also remain the only owner of your work, in accordance with the Medium Terms of Service that you agree to when establishing a Medium account.

  • We feature our best content on our publication’s pages and Twitter:

A Guideline to pushing big data to a TensorFlow model

Being a data scientist or an AI researcher, there’s a pretty high chance you’ll be needing lots of data. Listen, when I mean lots, I mean a whole LOT. (the number is usually up in GBs).

When your data can’t fit in memory, use generators. Trust me!

Photo by Dan Farrell on Unsplash


Generator functions allow you to declare a function that behaves like an iterator. They allow programmers to make an iterator in a fast, easy, and clean way.

Iterators don’t compute the value of each item when instantiated. They only compute it when you ask for it. This is known as lazy evaluation.



Why Kubernetes and Docker is not an either-or Question

Containers are the centerpiece of running modern applications effectively with easy deployment and scalability. Hopefully, after reading the article, you'll understand why it's not an either-or-question and how to go about running and orchestrating your containers.

Photo by Dominik Lückmann on Unsplash

Things People Misunderstand

It is not a matter of question whether you should use either Docker or Kubernetes. They are not the same. Let me give you an example and you can find your answers amongst the highlighted memos.

Let-s assume you have a backend application running on React or Node.js Also, you require database access running dynamically. You built a Java script that enables exactly that…

Cloud Computing, Opinion

The Reason Why Cloud Services Have The Upper Hand In The Big Data Process

The Future of Cloud Services

The demand for computational power has never been greater than right now. Due to big data, companies and organizations are not only looking for the right people to handle the right part of the development process, they’re shifting their priorities towards bringing their products closer to their clients at a secure, manageable, but most importantly efficient, high throughput, low latency way.

Big Data Needs Big Servers

Moving to the Cloud is happening right now!

Companies such as Netflix, Instagram, Pinterest, and Apple have already felt the pressure of scalability and have turned to the Cloud to handle their overwhelming customer activity.

(Not to mention Google

Machine Learning

Get your ML app up and running in a matter of minutes.

Streamlit has proved out to be an outstanding opportunity for developers to share their machine learning instantly without having to worry too much about the underlying infrastructure.

In the following paragraphs, I’ll demonstrate the code written from the basis of a TensorFlow model, what changes you have to make and how I deployed my neural style transfer application in the most elegant manner with Streamlit Sharing.

Image by Author

And yes, this is Angelina Jolie as if painted by Gustav Klimt.

I know you’ve been dying to see the end result, and without further ado:

Go ahead and try it out for…

2021 Guide to a Modern GAN architecture

Binary Cross-Entropy loss or BCE loss is traditionally known as a metric for training GANs, but it’s far from being the best. Hopefully, after reading this article it’ll be quite clear why as well as what you can do about it.

Photo by Luke Chesser on Unsplash

Role of the BCE loss during a GAN training

If you’re trying to build a binary classifier, chances are you were using the binary cross-entropy loss. The BCE has in itself a rather simple idea.

For the sake of the argument, picture a scenario where you are trying predict two classes ( it could be either cats versus dogs, Tesla versus Ferrari etc. ). The BCE loss is…

Deep Learning

Progressive growing as a solution to DCGAN creating high-resolution images

Deep Convolutional Generative Adversarial Networks are the most exquisite type of neural network architecture in 2020. Generative models go way back to the 60s, largely created by Ian Goodfellow in 2014, and have unprecedented value regarding the future of deep learning.

For more on GANs or more specifically DCGANs, I encourage you to take a peek at the following articles:

Quick recap:

  • the generator recreates a sample from the noise vector and it should be indistinguishable from the training distribution
  • since both the neural networks are differentiable, we can use their gradients to steer them in the correct direction
  • the…

Implementing the popular classification algorithms in Golang from scratch


KNN stands for k-nearest neighbor and is an algorithm based on a simple idea and can be used for both classification and regression. The boundary becomes smoother with increasing value of k. With k increasing to infinity, it finally becomes all blue or all red depending on the total majority.

KNN works by iterating through the data and calculating the Euclidean distance and for the k nearest neighbor of the given point, the point falls into one of several categories.

Okay, now that you’re familiar with how the KNN algorithm works in theory, let’s dig into the code.

I have…

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