Files
Atomizer/docs/08_ARCHIVE/historical/OPTUNA_DASHBOARD.md
Anto01 e3bdb08a22 feat: Major update with validators, skills, dashboard, and docs reorganization
- Add validation framework (config, model, results, study validators)
- Add Claude Code skills (create-study, run-optimization, generate-report,
  troubleshoot, analyze-model)
- Add Atomizer Dashboard (React frontend + FastAPI backend)
- Reorganize docs into structured directories (00-09)
- Add neural surrogate modules and training infrastructure
- Add multi-objective optimization support

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 19:23:58 -05:00

6.1 KiB

Optuna Dashboard Integration

Atomizer leverages Optuna's built-in dashboard for advanced real-time optimization visualization.

Quick Start

1. Install Optuna Dashboard

# Using atomizer environment
conda activate atomizer
pip install optuna-dashboard

2. Launch Dashboard for a Study

# Navigate to your substudy directory
cd studies/simple_beam_optimization/substudies/full_optimization_50trials

# Launch dashboard pointing to the Optuna study database
optuna-dashboard sqlite:///optuna_study.db

The dashboard will start at http://localhost:8080

3. View During Active Optimization

# Start optimization in one terminal
python studies/simple_beam_optimization/run_optimization.py

# In another terminal, launch dashboard
cd studies/simple_beam_optimization/substudies/full_optimization_50trials
optuna-dashboard sqlite:///optuna_study.db

The dashboard updates in real-time as new trials complete!


Dashboard Features

1. Optimization History

  • Interactive plot of objective value vs trial number
  • Hover to see parameter values for each trial
  • Zoom and pan for detailed analysis

2. Parallel Coordinate Plot

  • Multi-dimensional visualization of parameter space
  • Each line = one trial, colored by objective value
  • Instantly see parameter correlations

3. Parameter Importances

  • Identifies which parameters most influence the objective
  • Based on fANOVA (functional ANOVA) analysis
  • Helps focus optimization efforts

4. Slice Plot

  • Shows objective value vs individual parameters
  • One plot per design variable
  • Useful for understanding parameter sensitivity

5. Contour Plot

  • 2D contour plots of objective surface
  • Select any two parameters to visualize
  • Reveals parameter interactions

6. Intermediate Values

  • Track metrics during trial execution (if using pruning)
  • Useful for early stopping of poor trials

Advanced Usage

Custom Port

optuna-dashboard sqlite:///optuna_study.db --port 8888

Multiple Studies

# Compare multiple optimization runs
optuna-dashboard sqlite:///substudy1/optuna_study.db sqlite:///substudy2/optuna_study.db

Remote Access

# Allow connections from other machines
optuna-dashboard sqlite:///optuna_study.db --host 0.0.0.0

Integration with Atomizer Workflow

Study Organization

Each Atomizer substudy has its own Optuna database:

studies/simple_beam_optimization/
├── substudies/
│   ├── full_optimization_50trials/
│   │   ├── optuna_study.db        # ← Optuna database (SQLite)
│   │   ├── optuna_study.pkl       # ← Optuna study object (pickle)
│   │   ├── history.json           # ← Atomizer history
│   │   └── plots/                 # ← Matplotlib plots
│   └── validation_3trials/
│       └── optuna_study.db

Visualization Comparison

Optuna Dashboard (Interactive, Web-based):

  • Real-time updates during optimization
  • Interactive plots (zoom, hover, filter)
  • Parameter importance analysis
  • Multiple study comparison
  • Requires web browser
  • Not embeddable in reports

Atomizer Matplotlib Plots (Static, High-quality):

  • Publication-quality PNG/PDF exports
  • Customizable styling and annotations
  • Embeddable in reports and papers
  • Offline viewing
  • Not interactive
  • Not real-time

Recommendation: Use both!

  • Monitor optimization in real-time with Optuna Dashboard
  • Generate final plots with Atomizer visualizer for reports

Troubleshooting

"No studies found"

Make sure you're pointing to the correct database file:

# Check if optuna_study.db exists
ls studies/*/substudies/*/optuna_study.db

# Use absolute path if needed
optuna-dashboard sqlite:///C:/Users/antoi/Documents/Atomaste/Atomizer/studies/simple_beam_optimization/substudies/full_optimization_50trials/optuna_study.db

Database Locked

If optimization is actively writing to the database:

# Use read-only mode
optuna-dashboard sqlite:///optuna_study.db?mode=ro

Port Already in Use

# Use different port
optuna-dashboard sqlite:///optuna_study.db --port 8888

Example Workflow

# 1. Start optimization
python studies/simple_beam_optimization/run_optimization.py

# 2. In another terminal, launch Optuna dashboard
cd studies/simple_beam_optimization/substudies/full_optimization_50trials
optuna-dashboard sqlite:///optuna_study.db

# 3. Open browser to http://localhost:8080 and watch optimization live

# 4. After optimization completes, generate static plots
python -m optimization_engine.visualizer studies/simple_beam_optimization/substudies/full_optimization_50trials png pdf

# 5. View final plots
explorer studies/simple_beam_optimization/substudies/full_optimization_50trials/plots

Optuna Dashboard Screenshots

Optimization History

Optuna History

Parallel Coordinate Plot

Optuna Parallel Coords

Parameter Importance

Optuna Importance


Further Reading


Summary

Feature Optuna Dashboard Atomizer Matplotlib
Real-time updates Yes No
Interactive Yes No
Parameter importance Yes ⚠️ Manual
Publication quality ⚠️ Web only PNG/PDF
Embeddable in docs No Yes
Offline viewing Needs server Yes
Multi-study comparison Yes ⚠️ Manual

Best Practice: Use Optuna Dashboard for monitoring and exploration, Atomizer visualizer for final reporting.