A dynamic visualization tool for Hyperparameter Optimization (HPO) experiments. This tool allows you to interactively explore and replay the results of your optimization runs, supporting multiple experiments, tasks, methods, and individual runs.
- Experiment Browser: Automatically detects and lists experiments from your experiment directory.
- Multi-Level Drill Down: Filter by Experiment -> Task -> Method -> Run.
- Interactive Visualization: Parallel Coordinates, Metric Charts, and Scatter Plots.
- Replay Mode: Watch the optimization process unfold step-by-step.
- Live Data: Connects to a backend server to fetch data dynamically.
This project consists of a Python backend (Flask) for data serving and a React frontend (Vite) for visualization. You need to run both.
Frontend:
npm installBackend:
Ensure you have flask installed:
pip install flaskYou can start the backend and frontend in the background with the following commands. The Process IDs (PIDs) will be saved to backend.pid and frontend.pid, and the output logs will be saved to backend.log and frontend.log.
Step 1: Start the Backend Server
This server scans your experiment directory (/home/hsuchen/HPOTuningAgent/exp) and serves the data via API.
nohup .venv/bin/python server.py > backend.log 2>&1 & echo $! > backend.pidServer runs on http://0.0.0.0:5000
Step 2: Start the Frontend
nohup npm run dev > frontend.log 2>&1 & echo $! > frontend.pidFrontend runs on http://0.0.0.0:3001
To stop the running backend and frontend, use the following commands:
kill $(cat frontend.pid)
kill $(cat backend.pid)Open your browser and navigate to:
http://140.113.110.78:3001
- Select Experiment: Choose the experiment timestamp from the top-left dropdown.
- Select Task: Choose the specific task (e.g.,
MLP-adam_breast_acc). - Select Method: Choose the optimization method (e.g.,
optuna,gemini). - Select Run: Choose
All Runsto see aggregated results or a specificRun Xto analyze a single execution. - Play/Pause: Use the playback controls to watch the optimization progress.