Skip to content

ecmwf-lab/ml-training-course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ML Training Course

badge

This four-day course focuses on machine learning for numerical weather prediction (NWP).

Course Modules:

0. ML Basics

Gradient Open%20In%20SageMaker%20Studio%20Lab Launch%20in%20Deepnote

  • Overview: Introduction to fundamental ML concepts and terminologies.
  • Key Topics: Supervised learning, basic algorithms, feature engineering, and metrics.
  • Tools & Technologies: Python, NumPy, Scikit-learn, keras, XGBoost.

1. Model Debugging

Gradient Open%20In%20SageMaker%20Studio%20Lab Launch%20in%20Deepnote

  • Overview: Techniques and strategies for identifying and fixing issues in ML models.
  • Key Topics: Overfitting/underfitting, error analysis, model validation methods, and debugging tools.
  • Tools & Technologies: PyTorch.

2. Graph Neural Networks (GNNs)

Gradient Open%20In%20SageMaker%20Studio%20Lab Launch%20in%20Deepnote

  • Overview: Understanding and implementing GNNs for structured data.
  • Key Topics: Graph theory basics, GNN architectures, applications in climate and weather prediction.
  • Tools & Technologies: H3, Scikit-learn, PyTorch Geometric.

3. Explainable AI (XAI)

Gradient Open%20In%20SageMaker%20Studio%20Lab Launch%20in%20Deepnote

  • Overview: Methods for interpreting and understanding the decisions made by ML models.
  • Key Topics: Importance of model interpretability, common XAI techniques, applications in weather and climate science.
  • Tools & Technologies: SHAP, TensorFlow, PyTorch.

Getting Started

  1. Prerequisites: Familiarity with Python programming and basic mathematics (linear algebra, calculus, and probability).
  2. Setup: Instructions for setting up the necessary environment and tools are provided in the setup directory.
  3. Exercises: Each module includes exercises to practice the concepts learned. Solutions are available for comparison and learning.

Using the Course at home

For the course itself, we prepared VMs, if you want to run the notebooks at home, you have to install the dependencies, if you want to run them online, you have to remember to upload the data to the virtual environment.

Using the cloud

There are cloud providers that give you a "GPU for free in a Jupyter-like environment" that can run these notebooks from Github directly.

Realistically, many of these notebooks don't require a GPU, but they do speed up execution significantly.

In the cloud you may not have all dependencies available, as this is more of a secondary use-case, you will have to install missing dependencies using the Jupyter magic:

!pip install <missing-package>

You can run the whole repository on a general CPU-based Binder online, by clicking this badge:

badge

or run individual notebooks on different services below:

0. ML Basics

Neural Network

Gradient Open%20In%20SageMaker%20Studio%20Lab Launch%20in%20Deepnote

Linear Regression

Gradient Open%20In%20SageMaker%20Studio%20Lab Launch%20in%20Deepnote

XGBoost

Gradient Open%20In%20SageMaker%20Studio%20Lab Launch%20in%20Deepnote

1. Model Debugging

Gradient Open%20In%20SageMaker%20Studio%20Lab Launch%20in%20Deepnote

2. Graph Neural Networks (GNNs)

Gradient Open%20In%20SageMaker%20Studio%20Lab Launch%20in%20Deepnote

3. Explainable AI (XAI)

Gradient Open%20In%20SageMaker%20Studio%20Lab Launch%20in%20Deepnote

These are provided as "additional options" and we unfortunately cannot provide individual support for these platforms.

Setting Up Your Environment

You'll need to set up your Python environment. We show both pipenv and conda for environments and managing dependencies. Follow the instructions below based on the tool of your choice.

Using Conda

For those who prefer conda, follow these steps to create an environment:

  1. Install Conda: Ensure that you have either Anaconda or Miniconda installed. If not, download and install from Anaconda or Miniconda.
  2. Create Environment and Install Packages: Use the environment.yml file to create a Conda environment. Run:
    conda env create -f environment.yml
  3. Activate the Environment: Once the environment is created, you can activate it by running:
    conda activate ecmwf-ml-course

Using Pipenv

If you prefer to use pipenv, which automatically creates and manages a virtual environment for your projects, follow these steps:

  1. Install Pipenv: If you haven't installed pipenv yet, you can do so by running:

    pip install pipenv

    On Mac you can also use homebrew:

    brew install pipenv
  2. Create a Virtual Environment and Install Dependencies: Navigate to the project's root directory and run:

    pipenv install --dev

    If you have a requirements.txt file and wish to create the environment specifically with it, use:

    pipenv install -r requirements.txt

After Setup

After setting up your environment, verify that all packages were installed correctly by running:

python -m pip list

or, if you're using Conda:

conda list

Now, you're all set to start the course exercises!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •