PC: The Blue Diamond Gallery (https://www.thebluediamondgallery.com/notepad01/t/testing.html)

If you are a person who is new to testing, or if you have been assigned to fix some test failures, or if an awesome new feature you implemented recently crashes 💥 any of the existing test case, you have to walk into the doom ☠️ of software testing.

Especially if it is using pytest you can see (👀) lot of weird wrappers / decorators sitting on top of functions in test files. Most common among those wrappers is @pytest.fixture() . What is test fixture ❓

Wiki says,

A test fixture is an environment used to consistently test some item…

PC: Wikimedia (https://commons.wikimedia.org/wiki/File:Fish-hook.JPG)

As a developer, we need to ensure readability, writability, and reliability of the program we are writing. If we take a git repo multiple contributors write or modify hundreds of lines of codes each day, new contributors come in as few go out. So to make the codebase consistent, we have to follow certain standards. For example certain code formatting styles (black) or linting style (flake8) etc. Usually, these sanity checks take place before submitting (commit) the code for review, also there can be actions that need to be done after submitting, something like maintaining an internal log.

Before deep…

PC: https://www.freepik.com/vectorpouch

We Data Scientists and ML Engineers focus more on building successful models and not much concerned about how we going to deploy the model in real-world production systems.

Things will be simple when we only have to setup python environments, tools like Anaconda and venv make it easy to share the python environments as an environment.yml or requirements.txt to reproduce it. But what if have configured few more libraries, or we have used TensorRT or any other C++ libraries to do fast inferencing.

As the system gets larger we may install new dependencies and make configurations to the environment. Missing…

PC: freepik.com

Sometimes you might work on different projects at the same time with different versions of python. Normally using Miniconda or Anaconda is the easiest solution, but if your team using the python-venv package to manage the virtual environments, then you also need to follow the same convention.

In this article, I will give the steps to install multiple versions of python and how to switch between different versions and use them as needed.

Before you do anything else just open your terminal and see which version of python is installed by default in your system.

python --version

PC: Lucas Kepner (unsplash.com)

Nowadays most of us use the CUDA toolkit to train deep learning models. But things get messy when we grow from PROJECT to PROJECTS. Yes, soon as we start to work on two or three deep learning projects we may end up with the need for different environments. Sometimes we may need different versions of CUDA and cuDNN for different projects.

If you are a person who only uses Python the Anaconda (conda package manager) will come in handy in such situations. But there are situations you need to be relay on C++ as well. One good example is when…

Source: Freepik

Writing this article to help out those who have trouble in setting up Cuda enabled TensorFlow deep learning environment. If you don’t have Nvidia GPU configured in your system then this article is not for you. And you need the below items in order to configure this environment. Don’t worry I will guide you throughout the processes to install all of them.

  1. Microsoft Visual Studio
  2. Anaconda
  3. Python (Preferably with conda package manager)
  4. Tensorflow

Open Task Manager and go to Performance Tab, scroll down to the bottom. If you have Nvidia GPU it will be listed below there.

PC: PickPik (https://www.pickpik.com/wall-e-robot-toy-cute-wallpaper-romantic-2954)

Robotics is an interdisciplinary area of study between engineering and computer science. The key aim of robotics is to produce, computer programmable machines, that can do tasks with more speed and precision. The application of robotics is countless in the current era, for example transporting heavy things (in logistic management), automated manufacturing, self-driving cars, and unmanned aerial vehicles, and many more.

It is necessary for every beginner to understand the concept of Control Systems to get started with robotics. Control systems help to control the movements and functions of the robot. …

PC: Flickr

Recently I was working on an Image classification task where first I wanted to capture the region of interest from the image before feeding it into the model. I tried a technique called cluster-based image segmentation which helped me to improve my model performance by a certain level. Let us see what it is and some sample codes to do cluster segmentation, you can find the Jupyter Notebook at the bottom.

Imagine that you are going to cross the road, what you do before you cross the road?

First, you see both sides of the road to determine the approaching…

PC: Flickr

Hey buddies, recently I was working on an image classification problem. But unfortunately, there were not enough samples in one of class. I searched the internet and learned about a technique called image augmentation. Here I have shared my understanding of this technique and shared some codes using skimage. You can find the jupyter notebook at the bottom.

Image augmentation is a technique used to artificially increase the size of your image dataset. It can be achieved by applying random transformations to your image.

We know Deep learning models are able to generalize well when they are able to see…


Natural language processing is an important branch of Artificial intelligence where many interesting and important pieces of research are going on. As a machine learning enthusiast, it is important to understand the sub-processes of NLP.

Here I would like to share one of the buzz words used in NLP with (link to notebook attached at the bottom) code examples. “BAG OF WORDS!!!”.

Bag of words is a method that is used to find out the important topics in a text (paragraph). What are the topics? let’s say you are reading the below paragraph,

As a pet, cat is a very…

Mathanraj Sharma

Machine Learning Engineer at H2O.ai

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