Welcome to JBOAT Documentationο
JBOAT is a compositional, gradient-based Bi-Level Optimization (BLO) Python library that abstracts BLO into modular and flexible components, enabling efficient modeling of hierarchical and nested learning problems. It supports a wide spectrum of optimization settings, including first- and second-order methods, nested or non-nested formulations, with or without theoretical guarantees. This repository provides the Jittor-based implementation (jboat), leveraging Jittorβs JIT compilation and efficient CUDA/cuDNN backends to accelerate large-scale gradient-based BLO experiments.
In this section, we explain the core components of JBOAT, how to install the Jittor version, and how to use it for your optimization tasks. The main contents are organized as follows.
Installation Guide:
Running Exampleο
The running example of l2 regularization is organized as follows.
Example:
- L2 Regularization with Jittor
- Step-by-Step Explanation
- Step 1: Imports & Path Setup
- Step 2: Configuration Loading
- Step 3: Data Preparation
- Step 4: Evaluation Helper
- Step 5: Main Function & Argument Parsing
- Step 6: Data Setting and Model Initialization
- Step 7: Optimizer & Strategy Setup
- Step 8: Bi-Level Optimization Setup
- Step 9: Optimization Loop
- Step 10: Entry Point
- How to Run