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.

Image for post
Image for post
Photo by Kevin Ku on Unsplash

I started my programming journey with C++and have been on the verge of creating a game engine. Python, on the other hand, was something I’ve always tried to avoid. Moving from a low level language to a more abstract way of doing programming, was a big revelation. Go brings best of both the worlds, like lower level languages like C/C++, Go is a compiled language. That means performance is almost nearer to lower level languages. It also uses garbage collection to allocation and removal of the object. And, like Python its code is easy, fun and handles concurrency like no other. …

Intuition behind the most sophisticated computer vision algorithms

Computer vision is one of the hottest topics that uses machine learning. From pose estimation, vehicle detection, surveillance, you name it! I’ll be covering the essentials of how these algorithms came together and the intution behind it.

Image for post
Image for post
Photo by Jeremy Yap on Unsplash

The object detection task is comprised of two parts: classification and detection. The key idea we want to accomplish is to detect objects from an image and pass the region sorrounding the object to the convolutional neural network for prediction. These concepts are fairly simple for a human being to grasp, but think about how you would implement a program to detect miscellaneous vehicles from a traffic camera at a rate of 25 images per second. …

Why, how and to what extent?

Creating and deploying machine learning models takes time. From data preprocessing, creating a data pipeline, building a model for your purposes, dealing with the model and architecture, doing this thing called hyperparameter tuning to deploying the model to production.

Hopefully, after reading this, you’ll be able to recognize what model architecture differences your model has to endure in order to reach the desired accuracy and most importantly, when hyperparameter tuning is needed and when not to overkill it.

For those of you who just tuned in, neural networks are comprised of both the parameters and the hyperparameters. Parameters are weights and biases and other things you cannot have an impact on. Hyperparameters are set at training time and have a direct impact on the model. Batch size, number of epochs, momentum, activations, number of layers and units, lambda coefficients for regularization, the dropout rate. …

CNN to predict whether the cancer is malignant or benign with TensorFlow

Skin cancers — including melanoma often start as changes to your skin. They can be new growths or precancerous lesions — changes that are not cancer but could become cancer over time. An estimated 40% to 50% of fair-skinned people who live to be 65 will develop at least one skin cancer. Skin cancer can be cured if it’s found and treated early.

AI can and will immensely transform how we look at diagnostics, especially at skin cancer diagnostics.

Image for post
Image for post
Photo by Amanda Dalbjörn on Unsplash


Thanks to Kaggle, data is fully compatible and ready to be ingested into a model. …

Getting Started

Have you ever heard of an autoencoder and got frightened by the name?

I hope this article helps you dig deeper into the world of autoencoders and their amazing capabilities.

Autoencoders are essentially neural networks designed for learning representations of data also called the codings in an unsupervised manner. These codings usually have much lower dimensionality than the input data, which makes autoencoder a great dimensionality reduction solution.

For example, the notorious PCA (Principal Component Analysis) attempts to come up with a new lower dimensional hyperplane via the covariance matrix and the corresponding eigenvectors, whereas autoencoders never attempted to solve a linear problem, therefore they’re capable of doing a nonlinear dimensionality reduction.

Image for post
Image for post
Source :

We can take an unsupervised learning task and frame it as a supervised learning task by outputting the reconstriction of the original input. Therefore, we can train the network by minimizing the reconstruction error. What the model actually does, is that it forces the input data to compress to and learn the correct weights. A so called bottleneck is crucial for model’s architecture, because without it the model would simply memorize all the inputs and would map them as the inputs. …

In this article, I will use the Kaggle New York City Airbnb Open Data dataset and try to build a neural network model with TensorFlow for prediction.

Airbnb is an online marketplace which lets people rent out their properties or spare rooms to guests. Airbnb takes 3% commission of every booking from hosts, and between 6% and 12% from guests.

Image for post
Image for post

Since the company launched in 2009, it’s grown from helping 21,000 guests a year find a place to stay to helping six million a year go on holiday, and currently lists a staggering 800,000 properties in 34,000 cities across 90 different countries. …

TensorFlow 2.0 provides a comprehensive ecosystem of tools for developers, enterprises, and researchers who want to push the state-of-the-art in machine learning and build scalable ML-powered applications. It is the single most sought after github repository. The need for effective ML is exploding.

Keras is the most used deep learning library among the top 5 winning Kaggle competitions. Its intuitive manner of building such complex neural network architecture with so little ease has attracted many ML enthusisasts.

The keras core library is set around layers. A layer is an abstraction for doing computations, but essentially all it does is takes a number of tensors and outputs a number of tensors on the other side. If you’re not familiar with the idea of tensors, I recommend checking it up on the tensorflow homepage, youtube, medium or via online courses on Coursera, Udemy. …

Image for post
Image for post

Machine learning is a field of study in the broad spectrum of artificial intelligence (AI) that can make predictions using data without being explicitly programmed to do so. Machine learning algorithms are used in a wide variety of applications, such as recommendation engines, computer vision, spam filtering and so much more. They perform extraordinary well where it is difficult or infeasible to develop conventional algorithms to perform the needed tasks.

While many machine learning algorithms have been around for a long time, the ability to automatically apply complex mathematical calculations to big data— over and over, faster and faster — is a recent development. …

Why use Postgres?

PostgreSQL is a powerful, open-source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance.

Postgres has a lot of capability. Built using an object-relational model, it supports complex structures and breadth of built-in and user-defined data types. It provides extensive data capacity and is trusted for its data integrity.

It comes with many features aimed to help developers build applications, administrators to protect data integrity and build fault-tolerant environments, and help you manage your data no matter how big or small the dataset.

We will be using the famous Titanic dataset from Kaggle to predict whether the people aboard were likely to survive the sinkage of the world’s greatest ship or not. …


Tim Cvetko

Data scientist & TensorFlow developer

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