graph LR
Training_Experimentation_Orchestration["Training & Experimentation Orchestration"]
PyTorch_Lightning_Model_Wrappers["PyTorch Lightning Model Wrappers"]
Cross_validation_Orchestrator["Cross-validation Orchestrator"]
Data_Loading_Batching["Data Loading & Batching"]
Optimizer_Scheduler_Configuration["Optimizer & Scheduler Configuration"]
Training_Experimentation_Orchestration -- "comprises" --> PyTorch_Lightning_Model_Wrappers
Training_Experimentation_Orchestration -- "utilizes" --> Cross_validation_Orchestrator
PyTorch_Lightning_Model_Wrappers -- "uses" --> Data_Loading_Batching
PyTorch_Lightning_Model_Wrappers -- "configures" --> Optimizer_Scheduler_Configuration
Cross_validation_Orchestrator -- "orchestrates" --> PyTorch_Lightning_Model_Wrappers
One paragraph explaining the functionality which is represented by this graph. What the main flow is and what is its purpose.
This is the overarching component that defines and manages the high-level strategy and execution flow for all deep learning experiments. It coordinates the use of PyTorch Lightning for structured training and integrates cross-validation methodologies to ensure robust model evaluation.
Related Classes/Methods:
green.research_code.crossval_utils.pl_crossval(114:213)green.research_code.pl_utils.GreenRegressorLM(64:164)green.research_code.pl_utils.GreenClassifierLM(167:310)
These are specialized classes (GreenRegressorLM, GreenClassifierLM) within pl_utils.py that extend PyTorch Lightning's LightningModule. They encapsulate the core training, validation, testing, and prediction logic for the underlying deep learning models, handling loss computation, metric logging, and integration with PyTorch Lightning's training loop.
Related Classes/Methods:
green.research_code.pl_utils.GreenRegressorLM(64:164)green.research_code.pl_utils.GreenClassifierLM(167:310)
This module (crossval_utils.py) provides utilities for setting up and executing cross-validation experiments. It manages the splitting of datasets into different folds and orchestrates the training and evaluation of models across these folds, which is crucial for obtaining reliable and generalizable performance estimates.
Related Classes/Methods:
green.research_code.crossval_utils.pl_crossval(114:213)green.research_code.crossval_utils.run_one_fold_pl(23:111)
This component, primarily through the get_train_test_loaders function in pl_utils.py, is responsible for preparing and loading data into DataLoader objects. It handles dataset subsetting based on training and testing indices, and configures efficient batch processing for feeding data to the models during training and evaluation.
Related Classes/Methods:
Managed within the configure_optimizers method of the PyTorch Lightning Model Wrappers, this component handles the setup of optimization algorithms (e.g., Adam) and learning rate schedulers (e.g., ReduceLROnPlateau). It allows for flexible learning rate policies, including differentiated rates for specific parameter groups (e.g., wavelet layers).
Related Classes/Methods: