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
tunefunction for optimizationComparing 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
LoggingLossfor training and evaluationPassing 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
New to EasyHybrid? → Start with Exponential Respiration Model
Working with time series? → Check out LSTM Hybrid Model
Need robust evaluation? → See Cross-Validation
Want to optimize performance? → Try Hyperparameter Tuning
Customizing training? → Read Losses and LoggingLoss
Running on clusters? → Follow Slurm Jobs
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.