A Gigantic List of must-have Machine Learning Books

If you are interested in Machine Learning or Deep Learning, but struggling to decide which book to use to study the same, here is a list of the best books in these fields. What makes this list even better is that some of these books are available online, for free! So go through the list, and pick the one that suits you best.

1. Deep Learning Book
– by Aaron Courville, Ian Goodfellow, and Yoshua Bengio
This book covers them all, including the mathematics required for Deep Learning. What’s more, it is available for free from the official website of this book. This is a must have for any serious Deep Learning practitioner.

Continue reading “A Gigantic List of must-have Machine Learning Books”

Backpropagation From Scratch

Backpropagation is considered as one of the core algorithms in Machine Learning. It is mainly used in training the neural network. What if we tell you that understanding and implementing it is not that hard?  Anyone who knows basic of Mathematics and has knowledge of basics of Python Language can learn this in 2 hours. Let’s get started.

Though there are many high-level overviews of the backpropagation algorithm what I found is that unless one implements the backpropagation from scratch, he or she is not able to understand many ideas behind neural networks.

Continue reading “Backpropagation From Scratch”

Writing Custom Optimizer in TensorFlow Keras API

Recently, I came up with an idea for a new Optimizer (an algorithm for training neural network). In theory, it looked great but when I implemented it and tested it, it didn’t turn out to be good.

Some of my learning are:

  1. Neural Networks are hard to predict.
  2. Figuring out how to customize TensorFlow is hard because the main documentation is messy.
  3. Theory and Practical are two different things. The more hands-on you are, the higher are your chances of trying out an idea and thus iterating faster.

I am sharing my algorithm here. Even though this algorithm may not be of much use to you but it would give you ideas on how to implement your own optimizer using Tensorflow Keras.

A neural network is basically a set of neurons connected to input and output. We need to adjust the connection strengths such that it gives the least error for a given set of input. To adjust the weight we use the algorithms. One brute force algorithm could be to try all possible combinations of weights (connections strength) but that will be too time-consuming. So, we usually use the greedy algorithm most of these are variants of Gradient Descent. In this article, we will write our custom algorithm to train a neural network. In other words, we will learn how to write our own custom optimizer using TensorFlow Keras.

Continue reading “Writing Custom Optimizer in TensorFlow Keras API”

What is GPT3 and will it take over the World

GPT-3 is the largest NLP model till date. It has 175 billion parameters and has been trained with 45TB of data. The applications of this model are immense.

GPT3 is out in private beta and has been buzzing in social media lately. GPT3 has been made by Open AI, which was founded by Elon Musk, Sam Altman and others in 2015. Generative Pre-trained Transformer 3 (GPT3) is a gigantic model with 175 billion parameters. In comparison the previous version GPT2 had 1.5 billion parameters. The larger more complex model enables GPT3 to do things that weren’t previously possible.

Continue reading “What is GPT3 and will it take over the World”

How to label custom images for YOLO – YOLO 3

In this blog we will show how to label custom images for making your own YOLO detector. We have other blogs that cover how to setup Yolo with Darknet, running object detection on images, videos and live CCTV streams. If you want to detect items not covered by the general model, you need custom training.

In our case we will build a truck type detector. There are 4 types of trucks we will try to identify

Continue reading “How to label custom images for YOLO – YOLO 3”

Object Detection with Yolo Python and OpenCV- Yolo 2

we will see how to setup object detection with Yolo and Python on images and video. We will also use Pydarknet a wrapper for Darknet in this blog. The impact of different configurations GPU on speed and accuracy will also be analysed.

This blog is part of series, where we examine practical applications of Yolo. In this blog, we will see how to setup object detection with Yolo and Python on images and video. We will also use Pydarknet a wrapper for Darknet in this blog. The impact of different configurations GPU on speed and accuracy will also be analysed.

Continue reading “Object Detection with Yolo Python and OpenCV- Yolo 2”

Setup Yolo with Darknet- Yolo 1

We will explore YOLO for image recognition in a series of blogs. This is the first one. In this blog, we will see how to setup YOLO with darknet and run it. We will also demonstrate the various choices you have with YOLO in terms of accuracy, speed and cost, enabling you to make a more informed choice of how you would want to run your models.

Setup Yolo with Darknet

The content in the blog is not unique. However if you are starting with YOLO, this is the first thing you need to do.

Continue reading “Setup Yolo with Darknet- Yolo 1”

How to build a Number Plate Reader – Part 2

In the previous blog of this series, we trained a model to identify a numberplate in a picture. Here we will learn how to use OpenCV and PyTesseract to get the final number from the plate.

We will start from where we ended in the last session. We had trained an ssd_inception model and used it Tensorflow Object Detection API to detect number plates.

Continue reading “How to build a Number Plate Reader – Part 2”

How to make a custom number plate reader – Part 1

In this duology of blogs, we will explore how to create a custom number plate reader.

In this duology of blogs, we will explore how to create a custom number plate reader. We will use a few machine learning tools to build the detector. An automatic number plate detector has multiple applications in traffic control, traffic violation detection, parking management etc. We will use the number plate detector as an exercise to try features in OpenCV, tensorflow object detection API, OCR, pytesseract

Continue reading “How to make a custom number plate reader – Part 1”