This repository contains materials for the "Machine Learning Systems for Production" course by Thar Htet San. The lecture videos are available on the Deepfaro YouTube channel. This course focuses on MLOps, covering the following key topics:
- Addressing technical debts in MLOps.
- Framing problems as ML solutions.
- Approaching ML systems using current project management techniques.
- Setting up a development environment for ML projects.
- Creating an ML lifecycle management system.
- Handling data drift, model drift, and monitoring in ML systems.
- Systematically managing the ongoing development of ML systems.
Day | Topics Covered | Source Code |
---|---|---|
Day 1 | - Course Introduction - Tools and Git Config - Anaconda and Python Syntax |
1_Python_Basic_and_git |
Day 2 | - Python class and object - Ollama Usage - Pandas - List - Function Decorator - Args vs kwargs |
1_Python_Basic_and_git |
Day | Topics Covered | Source Code |
---|---|---|
Day 3 | - Anaconda Usage - PipEnv setup - Poetry for python Envs |
2_ProdAndDev_Env_Setup |
Day | Topics Covered | Source Code |
---|---|---|
Day 4 | - Basic Image Processing Techniques. - BGR and RGB. - Image lib : OpenCV and Pillow. - Line detection Sample Project |
- Basic Img Functions - Background/ Foreground extraction |
Day | Topics Covered | Source Code |
---|---|---|
Day 5 | - OCR Project - Decision Tree - K-Means - Navie Bayes |
- Img Processing for Invoic - OCR Project |
Day 6 | - Linear Regression coding - Decission Tree, Navie Bayes, K-Means Coding - Single perceptron (from scratch ) |
- Decision Tree and Navie Bayes : Framework - Decision Tree : Native - K-Means Clustering : Framework - K-Means Clustering : Native - Navie Bayes : Framework - Navie Bayes : Native - Linear Regression - Logistic Regression |
Day | Topics Covered | Source Code |
---|---|---|
Day 7 | - Deep Learning - Artificial Neural Network (ANN) - Convolutional Neural Network (CNN) - How calculate no of params for DL model - Tensorflow GPU install |
- ANN : Framework - ANN : Native |
Day 8 | - Env Setup for DL Proj - TF Data Generators |
- TF generator : binary - TF generator : categorical |
Day 10 | - Custom Data Generator - Developing Custom TF model - Custom Training |
- TF Custom generator - TF Custom Model - TF Custom Training |
Day 11 | - Knowledge Distillation - Teacher and Student Networks - Tensorflow best practices |
- Teacher and Student Networks |
Day | Topics Covered | Source Code |
---|---|---|
Day 12 | - Docker - Flask - FastAPI |
- Flask App - FastAPI App |
Day 13 | - Fastapi Schemas - Async and Sync |
- Fastapi Schemas : Request/Response Model - Async and Sync |
Day 14 | - Fastapi Schemas - Async and Sync - Text to Audio - Text to Text |
- Text to Audio / Text to Text |
Day 15 | - Design Pattern - Structural vs Behavioral design patterns - Structuring the project. - Code formatter and clean code creation. - Introduction to CloudRun |
- Design Pattern Examples - ML_in_Prod_batch_2_proj1 |
Day 16 | - Set CI/CD in Project for CloudRun | - Cloud Build ymal |
Day 17 | - Understanding artifact registry - CloudRun versioning - Run-time Variable in CI/CD |
- |
Day 18 | - Github Action - Code Formatting - Code Quality Check - Unit Testing - Automation the Unit Tests |
ci_sample.yml |
Day | Topics Covered | Source Code |
---|---|---|
Day 19 | - Introduction to Data Version Control (DVC) - DVC setup for dev environment. - Introduction to MLflow. |
- DVC Setup Configs - DVC Repo - Getting Start with MLflow |
Day | Topics Covered | Source Code |
---|---|---|
Day 20 | - Getting start with MLflow - Logging API in MLflow - MLflow client - Model management in MLflow |
- Logging API in MLflow - MLflow client -Model management in Mlflow |
Day 21 | - Compute Resources - Eng-to-End MLflow |
-End-to-End Mlflow |
Day 22 | - MLflow backend store setup - CloudSQL setup for MLflow |
- |
Day 23 | - MLflow Prod Setup Explain | Secure-MLflow-Server-for-production |
Day | Topics Covered | Source Code |
---|---|---|
Day 24 | - Concept Drift - Data Drift - Feature Drift - Label Drift - Sample drift detection logic - Introduction to EvidentlyAI |
- Data Drift Sample -Monitoring with Evidentlyai |
Day 25 | - Introduction to Monitoring Project - Project setup with Prometheus and Grafana |
Monitoring-with-Prometheus-and-Grafana |
Day 26 | - Introduction to Evidently Project. - Setting up Evidently with streamlit App and FastAPI |
-Evidently Project Sample -Monitoring Proj with EvidentlyAI |
Day 27 | - Explain detail about Evidently Project. | Monitoring Proj with EvidentlyAI |
Day | Topics Covered | Source Code |
---|---|---|
Day 28 | - Data Orchestration - Mage Pipeline vs Airflow Pipeline - Airflow System Explain - Role and User management in Airflow - Bitshift Operators |
Bitshift Operator |
Day 29 | - Chain in DAGs -Tasks flow - Decorators in Airflow - Ariflow Variable vs System Variable - Xcom - Connections -File Sensor |
- Airflow Variable vs System Variable -File Sensors -Python Sensors |
Day 30 | - Scheduler in Ariflow - GCP Bucket Sensors - Custom Airflow Server Setup |
- GCP Bucket Sensors -Custom Airflow Server Setup |
- I will add this chapter in next batch 🤓
Day | Topics Covered | Source Code |
---|---|---|
Day 31 | - Apache Spark - Spark System Explain - Spark Native vs PandasAPI on Spark - Memory and lazy execution explain |
-Apache Spark |
Day 32 | - MLflow on Spark Cluster - MLflow Genric Flavor - Distributed Training on Spark Cluster |
- Custom-Apache-Spark-Cluster-run-databricks-locally |
Day 33 | - MLflow model Generic Flavor - 2 - Hyperparameter tuning with Hyperopt - CPU vs GPU vs Distributed Training - Distributed Training with MLflow Generic Flavor |
- |
Day | Topics Covered | Source Code |
---|---|---|
Day 34 | - Retrieval-Augmented Generation (RAGs) Explain - RAGs Application and Sample Codes - RAGs vs AI Agent Systems |
-RAG -Agentic RAG |
Day 35 | - Agentic RAGs with Ollama - Introduction to model context protocol (MCP) - Hello world in MCP |
-Hello-world MCP |
Day 36 | - Tools calling in AI Agents - fuzzy output handling in agents - MCP with Claude |
-Tools calling in AI Agents -MCP samples |
Day 37 | - Fuzzy Output Handling -Handling input and out in AI Agents - Multimodel in AI Agents - Adv agents input handling |
-Fuzzy Output Handling pydantic in Agent -Multimodala in Agents -Adv agents input handling |
Day 38 | - Federated Machine Learning - Decentralized Data Explain - Federated Learning Project |
-Federated Learning Project |
Designing Machine Learning Systems | Deciphering Data Architectures | Building an Event-Driven Data Mesh | Building Generative AI Services with FastAPI |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
If you're interested in my course, feel free to connect with me.