50/100 Days of ML Challenge — Halfway Evaluation

Harshith Mohan Kumar
4 min readJun 30, 2021

--

100 Days of ML

“I think it is possible for ordinary people to choose to be extraordinary.”

— Elon Musk

When the second wave of the COVID-19 pandemic unexpectedly took over, a lockdown was inevitable. I knew I had to maximize productivity with my newfound free time otherwise I’d end up developing terrible work habits.

I decided to take another shot at the 100 days of machine learning (ML) challenge for the second time. However this time around, I wanted to leave behind a more significant digital footprint. This led me to stream my challenge on youtube every day.

100 Days of ML Youtube Playlist

I’ve finished 50/100 days so far and I’ll be recording my evaluation of the challenge so far in this article. I hope that this also provides anyone reading a guideline to develop their own machine learning roadmap.

Note: During this challenge, I’ve been focusing more on engineering production and implementation rather than the data science aspects of machine learning.

Goals

  • Deploying ML code into production
  • Developing ML pipelines
  • MLOps (DevOps + ML)
  • Low-level GPU programming using CUDA

The first thing I did to start off this challenge was to clearly define my challenge goals. In order to accomplish this, I searched up the job qualifications for an ML Engineer at FANG companies and developed my list of objectives based on the required qualifications. Next, I scoured the internet to find the resources to complete my challenge.

Resources

Deploy ML Models to Production
  • Deploy Machine Learning Models to Production With Flask, Streamlit, Docker, and Kubernetes on Google Cloud Platform

This book taught me a lot about how to package machine learning code to deploy it on the internet for anyone to use. It’s a very beginner friendly book and I’d recommend it to anyone who is trying to move from data science to building machine learning-powered applications.

Building ML Pipelines
  • Building Machine Learning Pipelines Automating Model Life Cycles with TensorFlow

This next book about MLOps is a lot more involved. It’s a wonderful book rich with content on the process of developing and testing a machine learning pipeline. It goes over the entire pipeline process using TensorFlow Extended and additional libraries for orchestration and processing.

  • Made With ML (Website)

Finally, this last resource I’ve included is an amazing website which talks about the entire process of developing industry-level code. I would definitely recommend this to anyone trying to improve their coding organization skills.

Evaluation

I’m at the halfway mark and I’ve experienced days where I’m extremely excited to work on something as well as days where I’ve been insanely tired. Streaming the challenge on youtube has definitely helped me maintain consistency since I like to pretend that my work is being judged constantly.

The hardest part of this challenge is to find something to do every single day.

To combat this issue at the end of every day I’d plan the daily objectives for the next day and every week or so I’d update the overall challenge goals. This way I always kept track of my progress and knew what has to be done next.

Mistakes I’ve made

Along the way, there have been paths that I initially chose to go down but, soon after starting, realized that I needed to pivot my direction.

This happened when I started to learn about CUDA. I quickly realized that coding CUDA using Python was a mistake and I wasn’t really understanding the objective of the code since Python is a very high-level language and CUDA is primarily for a low-level application.

The more you can plan out the smoother the challenge will become

Future Goals

Building ML Applications
  • Read “Building Machine Learning Powered Applications”
  • Learn the low-level operations of machine learning code using CUDA and C/C++
  • Learn about reinforcement learning

Ultimately, I want this challenge to help me build the skills required to become a proficient ML Engineer. During this process, I’ve developed an appreciation for DevOps and I want to further pursue this path and determine if It’s fitting for me.

If you would like to view my progress feel free to visit my GitHub repository or follow my progress on YouTube. If you would like to know more about me, consider visiting my website harshithmohankumar.com

--

--

No responses yet