← Open Source
offchan42

machine-learning-curriculum

:computer: Learn to make machines learn so that you don't have to struggle to program them; The ultimate list.

ListsTool collections
Open on GitHub
Momentum
+0stars in 24 hours0.0%
1.13k
Stars
253
Forks
+1
This week
4
Contributors
Created 2016-12-12 · Updated 2026-10-12 · #11468 today
Top developers
offchan42ThatAndresVadventuresinML

offchan42/machine-learning-curriculum is ranked 11,468 with 1,133 stars.

Same-category comparison

offchan42/machine-learning-curriculum is ranked 11,468 among these 8 peers; Shujian2015/FreeML is ranked 11,470.

Same-category comparison
NameRankMetrics
rohitg00/awesome-claude-design11,417
Stars:
1,146
Forks:
147
Description:
Claude Design DESIGN.md prompts by aesthetic family, remix recipes, skills, video teardowns, X signal, honest community takes.
jaw9c/awesome-remote-mcp-servers11,420
Stars:
1,145
Forks:
1,182
Description:
Remote MCP Servers.
shaypal5/awesome-twitter-data11,449
Stars:
1,137
Forks:
139
Description:
A list of Twitter datasets and related resources.
leomaurodesenv/game-datasets11,465
Stars:
1,134
Forks:
94
Description:
:video_game: A curated list of awesome game datasets, and tools to artificial intelligence in games.
Shujian2015/FreeML11,470
Stars:
1,132
Forks:
511
Description:
A List of Data Science/Machine Learning Resources (Mostly Free).
TSCenter/awesome-time-series-papers11,477
Stars:
1,130
Forks:
54
Description:
An Awesome List of the latest time series papers and code from top AI venues.
Troyanovsky/Local-LLM-Comparison-Colab-UI11,571
Language:
Jupyter Notebook
Stars:
1,107
Forks:
155
Description:
Compare the performance of different LLM that can be deployed locally on consumer hardware. Run yourself with Colab WebUI.
Kim-Hammar/awesome-rl-for-cybersecurity11,586
Stars:
1,103
Forks:
146
Description:
A curated list of resources dedicated to reinforcement learning applied to cyber security.
Key parameters and specifications
Key parameters and specifications
ParameterValue
CategoryLists
SubcategoryTool collections
Stars1,133
Forks253
Contributors4
Created date2016-12-12
Updated date2026-10-12
Stars in 1 day0
Stars in 7 days1
Rank11,468
Previous rank11,413
Rank change-55
7-day stars rank10,150
Previous 7-day stars rank10,190
7-day stars rank change40
Total stars rank10,146
Previous total stars rank10,132
Total stars rank change-14
CountryThailand
README summary

Machine Learning Curriculum Machine Learning is a branch of Artificial Intelligence dedicated at making machines learn from observational data without being explicitly programmed. Machine learning and AI are not the same. It’s the ability for an algorithm to learn from prior data in order to produce a behavior. ML is teaching machines to make decisions in situations they have never seen. This curriculum is made to guide you to learn machine learning, recommend tools, and help you to embrace

ML lifestyle by suggesting media to follow. I update it regularly to maintain freshness and get rid of outdated content and deprecated tools. Machine Learning in General Study this section to understand fundamental concepts and develop intuitions before going any deeper. A computer program is said to learn from experience with respect to some class of tasks and performance measure if its performance at tasks in , as measured by , improves with experience . Elements of AI A bunch of easy courses

teaching AI and machine learning COMS W4995 Applied Machine Learning Spring 2020 videos and slides of an applied ML course from Columbia University. Opinionated Machine Learning Course by Fast. ai Machine Learning Crash Course with TensorFlow APIs Google's fast-paced, practical introduction to machine learning Intro to Machine Learning - Udacity hands on scikit-learn (python) programming learning on core ML concepts Machine Learning: Supervised, Unsupervised & Reinforcement - Udacity the 2 instructors are hilarious Machine Learning Mastery carefully laid out step-by

-step guide to some particular algorithms Andrew Ng's Specialization on Coursera recommended for people who want to know the details of ML algorithms under the hood, understand enough maths to be dangerous and do coding assignments in python ML Recipes - YouTube Playlist a really nicely designed concrete actionable content for ML introduction Machine Learning is Fun Part 1 simple approach to machine learning for non-maths people Machine Learning with Python - YouTube Playlist Machine Learning Yearning by Andrew Ng Landing

A Data Job: The Course is an opinionated and practical guideline for people who want to focus on landing a job. For example, they suggest that knowing how decision tree works is already good enough, you don't need to know how all the models work, which is true! But this advice is mostly for tabular data. Serverless Machine Learning Build your own Machine Learning Serverless Prediction Service Effective MLOps: Model Development A free course by Weights & Biases with certification Mathematics

for Machine Learning and Data Science Specialization math course by Coursera Books Machine Learning with PyTorch and Scikit-Learn by Sebastian Raschka Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition by Aurélien Géron is the best selling book because it's great. The fastai book, published as Jupyter Notebooks math heavy book by Ian Goodfellow and Yoshua Bengio and Aaron Courville A Guide for Making Black Box Models Explainable The Hundred-Page Machine learning book

by Andriy Burkov Reinforcement Learning Building a machine that senses the environment and then chooses the best policy (action) to

Frequently asked questions

How many stars and forks are recorded?

offchan42/machine-learning-curriculum has 1,133 stars and 253 forks.

What is the repository rank?

offchan42/machine-learning-curriculum is ranked 11,468.

Which repository is closest in rank?

offchan42/machine-learning-curriculum is compared with Shujian2015/FreeML, ranked 11,470 with 1,132 stars.

README

Machine Learning Curriculum

Machine Learning is a branch of Artificial Intelligence dedicated at making machines learn from observational data without being explicitly programmed.

Machine learning and AI are not the same. Machine learning is an instrument in the AI symphony — a component of AI. So what is Machine Learning — or ML — exactly? It’s the ability for an algorithm to learn from prior data in order to produce a behavior. ML is teaching machines to make decisions in situations they have never seen.

This curriculum is made to guide you to learn machine learning, recommend tools, and help you to embrace ML lifestyle by suggesting media to follow. I update it regularly to maintain freshness and get rid of outdated content and deprecated tools.

Machine Learning in General

Study this section to understand fundamental concepts and develop intuitions before going any deeper.

A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E.

Books

Reinforcement Learning

Building a machine that senses the environment and then chooses the best policy (action) to do at any given state to maximize its expected long-term scalar reward is the goal of reinforcement learning.

Deep Learning

Deep learning is a branch of machine learning where deep artificial neural networks (DNN) — algorithms inspired by the way neurons work in the brain — find patterns in raw data by combining multiple layers of artificial neurons. As the layers increase, so does the neural network’s ability to learn increasingly abstract concepts.

The simplest kind of DNN is a Multilayer Perceptron (MLP).

Convolutional Neural Networks

DNNs that work with grid data like sound waveforms, images and videos better than ordinary DNNs. They are based on the assumptions that nearby input units are more related than the distant units. They also utilize translation invariance. For example, given an image, it might be useful to detect the same kind of edges everywhere on the image. They are sometimes called convnets or CNNs.

Recurrent Neural Networks

DNNs that have states. They also understand sequences that vary in length. They are sometimes called RNNs.

Best Practices

Tools

Libraries and frameworks that are useful for practical machine learning

Frameworks

Machine learning building blocks

  • scikit-learn general machine learning library, high level abstraction, geared towards beginners
  • TensorFlow; Awesome TensorFlow; computation graph framework built by Google, has nice visualization board, probably the most popular framework nowadays for doing Deep Learning
  • Keras: Deep Learning for humans Keras is a deep learning API written in Python, running on top of TensorFlow. It's still king of high level abstraction for deep learning. Update: Keras is now available for TensorFlow, JAX and PyTorch!
  • PyTorch Tensors and Dynamic neural networks in Python with strong GPU acceleration. It's commonly used by cutting-edge researchers including OpenAI.
  • Lightning The Deep Learning framework to train, deploy, and ship AI products Lightning fast. (Used to be called PyTorch Lightning)
  • JAX is Autograd and XLA, brought together for high-performance machine learning research.
  • OneFlow is a deep learning framework designed to be user-friendly, scalable and efficient.
  • Apache MXNet (incubating) for Deep Learning Apache MXNet is a deep learning framework designed for both efficiency and flexibility. It allows you to mix symbolic and imperative programming to maximize efficiency and productivity.
  • Chainer A flexible framework of neural networks for deep learning
  • Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning. There is a specific focus on reinforcement learning with several contextual bandit algorithms implemented and the online nature lending to the problem well.
  • H2O is an in-memory platform for distributed, scalable machine learning.
  • spektral Graph Neural Networks with Keras and Tensorflow 2.
  • Ivy is both an ML transpiler and a framework, currently supporting JAX, TensorFlow, PyTorch and Numpy. Ivy unifies all ML frameworks 💥 enabling you not only to write code that can be used with any of these frameworks as the backend, but also to convert 🔄 any function, model or library written in any of them to your preferred framework!

No coding

  • Ludwig Ludwig is a toolbox that allows users to train and test deep learning models without the need to write code. It is built on top of TensorFlow.

Gradient Boosting

Models that are used heavily in competitions because of their outstanding generalization performance.

Time Series Inference

Time series data require unique feature extraction process for them to be usable in most machine learning models because most models require data to be in a tabular format. Or you can use special model architectures which target time series e.g. LSTM, TCN, etc.

Life Cycle

Libraries that help you develop/debug/deploy the model in production (MLOps). There is more to ML than training the model.

  • https://huggingface.co/ Just like GitHub, but for storing ML models, datasets, and apps (they call apps as spaces). They have libraries for you to easily use their models/datasets in your code. The storage is free and unlimited for both public and private projects.
  • https://wandb.ai/ Build better models faster with experiment tracking, dataset versioning, and model management
  • https://github.com/flyteorg/flyte Flyte makes it easy to create concurrent, scalable, and maintainable workflows for machine learning and data processing.
  • https://github.com/allegroai/clearml Auto-Magical Suite of tools to streamline your ML workflow. Experiment Manager, ML-Ops and Data-Management
  • https://github.com/quantumblacklabs/kedro A Python framework for creating reproducible, maintainable and modular data science code.
  • https://github.com/determined-ai/determined Determined is an open-source deep learning training platform that makes building models fast and easy. I use it mainly for tuning hyperparameters.
  • https://github.com/iterative/cml Continuous Machine Learning (CML) is an open-source library for implementing continuous integration & delivery (CI/CD) in machine learning projects. Use it to automate parts of your development workflow, including model training and evaluation, comparing ML experiments across your project history, and monitoring changing datasets.
  • https://github.com/creme-ml/creme Python library for online machine learning. All the tools in the library can be updated with a single observation at a time, and can therefore be used to learn from streaming data.
  • https://github.com/aimhubio/aim A super-easy way to record, search and compare 1000s of ML training runs
  • https://github.com/Netflix/metaflow Metaflow is a human-friendly Python library that helps scientists and engineers build and manage real-life data science projects. Metaflow was originally developed at Netflix.
  • MLflow MLflow (currently in beta) is an open source platform to manage the ML lifecycle, including experimentation, reproducibility and deployment. It currently offers three components: MLflow Tracking, MLflow Projects, MLflow Models.
  • FloydHub a Heroku for Deep Learning (You focus on the model, they'll deploy)
  • comet.ml Comet enables data scientists and teams to track, compare, explain and optimize experiments and models across the model's entire lifecycle. From training to production
  • https://neptune.ai/ Manage all your model building metadata in a single place
  • https://github.com/fastai/nbdev Create delightful python projects using Jupyter Notebooks
  • https://rapids.ai/ data science on GPUs
  • https://github.com/datarevenue-berlin/OpenMLOps
  • https://github.com/jacopotagliabue/you-dont-need-a-bigger-boat Not really a tool, but a guide on how to compose many tools together in real-world reasonable scale business.
  • https://www.modular.com/ A company with ambitious goal of redesigning AI infrastructure from the ground up. They introduce a new language called Mojo which is a superset of python.

GPU Cloud

Remember that this is an opinionated list. There are bazillions of cloud providers out there. I'm not going to list them all. I'm just going to list the ones that I'm familiar with and I think are good.

  • https://lightning.ai/ Lightning Studio makes it possible for you to ditch your high-end laptop for developing machine learning models. Just write code in the cloud using VSCode and use their GPUs for training or inference. Lightning Studio is similar to GitHub Codespaces but with GPU.
  • https://modal.com/ Modal lets you run or deploy machine learning models, massively parallel compute jobs, task queues, web apps, and much more, without your own infrastructure.
  • https://www.runpod.io/ Save over 80% on GPUs. GPU rental made easy with Jupyter for PyTorch, Tensorflow or any other AI framework. I've used it before. Quite easy to use.
  • https://replicate.com/ Run and fine-tune open-source models. Deploy custom models at scale using cog. All with one line of code.
  • https://bentoml.com/ BentoML is the platform for software engineers to build AI products. Deploy using BentoML package.
  • https://www.baseten.co/ Fast and scalable model inference in the cloud using truss
  • https://lambdalabs.com/ GPU cloud built for deep learning. Instant access to the best prices for cloud GPUs on the market. No commitments or negotiations required. Save over 73% vs AWS, Azure, and GCP. Configured for deep learning with Pytorch, TensorFlow, Jupyter
  • https://www.beam.cloud/ On-demand GPU compute: Train and deploy AI and LLM applications securely on serverless GPUs, without managing infrastructure

Data Storage

Data Wrangling

Data cleaning and data augmentation

Data Orchestration

Data Visualization

  • https://github.com/gradio-app/gradio Create UIs for your machine learning model in Python in 3 minutes. The UI is a web app that can be shared with anyone, even non-technical people. One of the features I like is the examples component. It shows you very well that this app is for machine learning use case.
  • https://github.com/streamlit/streamlit Streamlit turns data scripts into shareable web apps in minutes. All in Python. All for free. No front‑end experience required.
  • https://github.com/oegedijk/explainerdashboard Quickly build Explainable AI dashboards that show the inner workings of so-called "blackbox" machine learning models.
  • https://github.com/lux-org/lux By simply printing out a dataframe in a Jupyter notebook, Lux recommends a set of visualizations highlighting interesting trends and patterns in the dataset.
  • https://github.com/slundberg/shap SHAP (SHapley Additive exPlanations) is a game theoretic approach to explain the output of any machine learning model.
  • https://github.com/comet-ml/kangas Kangas is a tool for exploring, analyzing, and visualizing large-scale multimedia data. It provides a straightforward Python API for logging large tables of data, along with an intuitive visual interface for performing complex queries against your dataset.

Hyperparameter Tuning

Before you begin, please read this blog post to understand the motivation of searching in general: https://www.determined.ai/blog/stop-doing-iterative-model-development

Open your eyes to search-driven development. It will change you. Main benefit is that there will be no setbacks. Only progress and improvement are allowed. Imagine working and progressing everyday, instead of regressing backwards because your new solution doesn't work. This guaranteed progress is what search-driven development will do to you. Apply it to everything in optimization, not just machine learning.

My top opinionated preferences are determined, ray tune, and optuna because of parallelization (distributed tuning on many machines), flexibility (can optimize arbitrary objectives and allow dataset parameters to be tuned), library of SOTA tuning algorithms (e.g. HyperBand, BOHB, TPE, PBT, ASHA, etc), result visualization/analysis tools, and extensive documentations/tutorials.

AutoML

Make machines learn without the tedious task of feature engineering, model selection, and hyperparameter tuning that you have to do yourself. Let the machines perform machine learning for you!

Personally if I have a tabular dataset I would try FLAML and mljar first, especially if you want to get something working fast. If you want to try gradient boosting frameworks such as XGBoost, LightGBM, CatBoost, etc but you don't know which one works best, I suggest you to try AutoML first because internally it will try the gradient boosting frameworks mentioned previously.

Model Architectures

Architectures that are state-of-the-art in its field.

Prompt Engineering

Large language models (LLMs) like GPT-3 are powerful, but they need to be prompted to generate the desired output. This is where prompt engineering comes in. Prompt engineering is the process of designing prompts that can be used to generate the desired output.

Nice Blogs & Vlogs to Follow

Impactful People

  • Geoffrey Hinton, he has been called the godfather of deep learning by introducing 2 revolutionizing techniques (ReLU and Dropout) with his students. These techniques solve the Vanishing Gradient and Generalization problem of deep neural networks.
  • Yann LeCun, he invented CNNs (Convolutional neural networks), the kind of network that is really popular among computer vision developers today. Currently working at Meta.
  • Yoshua Bengio another serious professor at Deep Learning, you can watch his TEDx talk here (2017)
  • Andrew Ng he discovered that GPUs make deep learning faster. He taught 2 famous online courses, Machine Learning and Deep Learning specialization at Coursera. particular type of RNN)
  • Jeff Dean, a Google Brain engineer, watch his TEDx Talk
  • Ian Goodfellow, he invented GANs (Generative Adversarial Networks), is an OpenAI engineer
  • David Silver this is the guy behind AlphaGo and Artari reinforcement learning game agents at DeepMind
  • Demis Hassabis CEO of DeepMind, has given a lot of talks about AlphaGo and Reinforcement Learning achievements they have
  • Andrej Karparthy he teaches convnet classes, wrote ConvNetJS, and produces a lot of content for DL community, he also writes a blog (see Nice Blogs & Vlogs to Follow section)
  • Pedro Domingos he wrote the book The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World, watch his TEDx talk here
  • Emad Mostaque he is the founder of stability.ai, a company that releases many open source AI models including Stable Diffusion
  • Sam Altman he is the president of OpenAI, a company that releases ChatGPT

Cutting-Edge Research Publishers

Steal the most recent techniques introduced by smart computer scientists (could be you).

Practitioner Community

Thoughtful Insights for Future Research

Uncategorized

Other Big Lists

I am confused, too many links, where do I start?

If you are a beginner and want to get started with my suggestions, please read this issue: https://github.com/offchan42/machine-learning-curriculum/issues/4

Disclaimer

From now on, this list is going to be compact and opinionated towards my own real-world ML journey and I will put only content that I think are truly beneficial for me and most people. All the materials and tools that are not good enough (in any aspect) will be gradually removed to combat information overload, including:

  • too difficult materials without much intuition; impractical content
  • too much theory without real-world practice
  • low-quality and unstructured materials
  • courses that I don't consider to enroll myself
  • knowledge or tools that are too niche and not many people can use it in their works e.g. deepdream or unsupervised domain adaptation (because you can Google it if you want to use it in your work).
  • tools that are beaten by other tools; not being state-of-the-art anymore
  • commercial tools that look like it can die any time soon
  • projects that are outdated or not maintained anymore

NOTE: There is no particular rank for each link. The order in which they appear does not convey any meaning and should not be treated differently.

How to contribute to this list

  1. Fork this repository, then apply your change.
  2. Make a pull request and tag me if you want.
  3. That's it. If your edition is useful, I'll merge it.

Or you can just submit a new issue containing the resource you want me to include if you don't have time to send a pull request.

The resource you want to include should be free to study.

Nearby in the ranking
Similar items