BundleNetworks.jl Documentation

Neural Network-Guided Bundle Methods for Non-Smooth Optimization

Overview

BundleNetworks.jl implements:

  • A machine learning approach to accelerate bundle methods by learning optimal hyperparameters from training data.
  • A machine learning-based unrolling model that predicts the coefficients of the convex combination of gradients (considered as step size), as well as the step size itself.

Features

  • Neural Network-Guided Optimization: Learn bundle method parameters using attention mechanisms.
  • Flexible Training: Supports batch and episodic training modes.
  • Curriculum Learning: Gradually increases problem difficulty.
  • Comprehensive Evaluation: Tracks training, validation, and testing metrics with TensorBoard integration.
  • GPU Support: Optional CUDA acceleration.

Quick Example

# Train a model
julia runTraining.jl \
  --data ./data/<your_folder>/ \
  --lr 0.001 \
  --mti 100 \
  --mvi 20 \
  --seed 42 \
  --maxItBack 50 \
  --maxEP 100

# Test the model
julia runTest.jl \
  --data ./data/<your_folder>/ \
  --model ./resLogs/model_folder/ \
  --dataset ./resLogs/model_folder/

Package Contents

Manual Outline

Index