Skip to content

Tutorials Overview

Welcome to the EasyHybrid.jl tutorials! This section provides comprehensive guides and examples to help you get started with hybrid modeling—combining process-based models with neural networks.

Getting Started

If you're new to EasyHybrid.jl, we recommend starting with the Getting Started guide, which walks through building your first hybrid model step by step.

Tutorial Topics

Core Tutorials

Exponential Respiration Model

Learn to build a hybrid model for soil respiration using an exponential temperature relationship. This tutorial demonstrates:

  • Creating synthetic data with exponential temperature response

  • Defining a process-based model (Expo_resp_model)

  • Configuring model parameters and constructing hybrid models

  • Training and evaluating your model

Best for: Understanding the fundamentals of hybrid modeling with a simple, well-documented example.

LSTM Hybrid Model

Explore advanced neural network architectures by building a hybrid model with LSTM (Long Short-Term Memory) networks. This tutorial covers:

  • Using LSTM networks for sequence modeling

  • Configuring feedforward vs. recurrent architectures

  • Working with sequence data (input/output windows, lead times)

  • Comparing LSTM and standard neural network performance

Best for: Working with time series data that requires memory of past states.

Model Evaluation and Optimization

Cross-Validation

Implement k-fold cross-validation to robustly evaluate your hybrid models. Learn how to:

  • Create and manage data folds

  • Train models across multiple validation splits

  • Parallelize cross-validation training

  • Organize results from multiple model runs

Best for: Ensuring your model generalizes well and avoiding overfitting.

Hyperparameter Tuning

Optimize your model's performance using Hyperopt.jl for automated hyperparameter search. This tutorial shows:

  • Setting up hyperparameter search spaces

  • Using the tune function for optimization

  • Comparing model performance before and after tuning

  • Best practices for hyperparameter selection

Best for: Finding optimal model configurations and improving performance.

Advanced Topics

Losses and LoggingLoss

Deep dive into the loss function system in EasyHybrid.jl. Learn about:

  • Predefined loss functions (MSE, MAE, NSE)

  • Creating custom loss functions

  • Handling missing values and uncertainty

  • Using LoggingLoss for training and evaluation

  • Passing additional arguments and keyword arguments to losses

Best for: Customizing model training and implementing domain-specific loss functions.

Slurm Jobs

Run EasyHybrid.jl models on HPC clusters using Slurm job scheduling. This tutorial provides:

  • Example Slurm batch scripts

  • Configuring Julia for cluster environments

  • Running array jobs for parallel experiments

  • Resource allocation best practices

Best for: Scaling up training to high-performance computing environments.

Choosing the Right Tutorial

Next Steps

After completing the tutorials, explore the Research section to see real-world applications, or dive into the API Reference for detailed function documentation.