π Web Dashboardο
RexF provides a beautiful, interactive web dashboard for real-time experiment monitoring and analysis.
Getting Startedο
Launch the dashboard with a single command:
from rexf import run
# Launch dashboard (opens browser automatically)
run.dashboard()
# Or from command line
# rexf-analytics --dashboard
The dashboard will open in your browser at http://localhost:8080.
Configuration Optionsο
Python APIο
# Custom host and port
run.dashboard(host="0.0.0.0", port=9000)
# Don't open browser automatically
run.dashboard(open_browser=False)
# Specify custom database path
run.dashboard(storage_path="custom_experiments.db")
Command Lineο
# Default settings
rexf-analytics --dashboard
# Custom host and port
rexf-analytics --dashboard --host 0.0.0.0 --port 9090
# Don't open browser
rexf-analytics --dashboard --no-browser
# Custom database
rexf-analytics --database custom.db --dashboard
Dashboard Featuresο
Overview Tabο
The main dashboard shows:
Experiment Summary: Total experiments, success rate, average metrics
Recent Activity: Latest experiment runs with status and key metrics
Quick Stats: Performance overview and trends
Status Distribution: Visual breakdown of experiment statuses
Metrics Visualizationο
Interactive charts showing:
Metric Trends: How metrics change over time
Metric Distributions: Histograms of metric values
Correlation Analysis: Relationships between different metrics
Performance Over Time: Execution time and efficiency trends
Parameter Spaceο
Explore parameter relationships:
Parameter vs Metric Scatter Plots: Visualize parameter impact
Parameter Distributions: See parameter value distributions
Multi-dimensional Views: Explore complex parameter interactions
Optimization Landscapes: Identify optimal parameter regions
Experiment Browserο
Browse and filter experiments:
Sortable Tables: Sort by any column (metrics, parameters, time)
Advanced Filtering: Filter by status, metrics ranges, parameter values
Search Functionality: Quick text search across experiments
Detailed Views: Click experiments for full details
Interactive Featuresο
Real-time Updatesο
The dashboard automatically updates when new experiments are run:
# Run experiments while dashboard is open
@experiment
def live_experiment(param1, param2=42):
return {"metric": param1 * param2}
# Dashboard will show new results immediately
run.single(live_experiment, param1=5)
run.single(live_experiment, param1=10)
Filtering and Queryingο
Use the dashboardβs query interface:
Metric Filters:
accuracy > 0.9,loss < 0.1Parameter Filters:
param_learning_rate between 0.001 and 0.01Status Filters:
status == 'completed'Time Filters:
start_time > '2024-01-01'
Chart Interactionsο
All charts are interactive:
Zoom and Pan: Explore data at different scales
Hover Details: Get detailed information on hover
Click to Filter: Click chart elements to filter data
Export Options: Save charts as images
Comparison Modeο
Compare multiple experiments side-by-side:
Select experiments from the browser
Click βCompare Selectedβ
View side-by-side parameter and metric comparison
See statistical analysis and recommendations
Advanced Usageο
Custom Queriesο
Use the query bar for complex filtering:
-- High-performing recent experiments
accuracy > 0.9 and start_time > '2024-01-01'
-- Parameter optimization
param_learning_rate < 0.01 and training_time < 300
-- Failed experiment analysis
status == 'failed' and param_complexity > 0.5
Data Exportο
Export filtered data directly from the dashboard:
CSV Export: Download table data as CSV
JSON Export: Get structured data for further analysis
Chart Export: Save visualizations as PNG/SVG
Dashboard API Endpointsο
The dashboard exposes REST API endpoints for programmatic access:
Experiment Dataο
# Get all experiments
GET /api/experiments
# Get specific experiment
GET /api/experiments/{run_id}
# Get experiments with filters
GET /api/experiments?status=completed&limit=10
Metrics and Analyticsο
# Get metric trends
GET /api/metrics?metric=accuracy
# Get parameter space data
GET /api/parameter_space
# Get experiment statistics
GET /api/stats
Real-time Updatesο
# Server-sent events for real-time updates
GET /api/stream
# WebSocket connection for live data
WS /api/websocket
Customizationο
Theme and Stylingο
The dashboard supports customization through CSS:
# Custom styling (future feature)
run.dashboard(
theme="dark", # "light", "dark", "auto"
custom_css="path/to/custom.css"
)
Custom Metrics Displayο
Configure which metrics to highlight:
# Configure dashboard focus (future feature)
run.dashboard(
primary_metrics=["accuracy", "f1_score"],
secondary_metrics=["training_time", "memory_usage"]
)
Integration with External Toolsο
Jupyter Notebooksο
Use the dashboard alongside Jupyter:
# In Jupyter cell
from rexf import run
# Launch dashboard in background
import threading
dashboard_thread = threading.Thread(
target=run.dashboard,
kwargs={"open_browser": False}
)
dashboard_thread.daemon = True
dashboard_thread.start()
# Continue with experiments
# Dashboard will update automatically
Remote Accessο
For remote servers or cloud environments:
# Make dashboard accessible from any IP
rexf-analytics --dashboard --host 0.0.0.0 --port 8080
# Access from remote machine
# http://your-server-ip:8080
Security Considerationsο
For production deployments:
Run behind a reverse proxy (nginx, Apache)
Use HTTPS for secure connections
Implement authentication if needed
Restrict access by IP/network
Performance Tipsο
Large Datasetsο
For experiments with many runs:
Use filtering to limit displayed data
Consider pagination for very large datasets
Use time-based filtering for recent data focus
Resource Usageο
The dashboard is lightweight but consider:
Memory usage increases with experiment count
Chart rendering performance depends on data size
Use query limits for better responsiveness
Troubleshootingο
Common Issuesο
Dashboard wonβt start:
# Check if port is already in use
lsof -i :8080
# Try different port
rexf-analytics --dashboard --port 8081
No data showing:
Verify database path is correct
Check that experiments have been run
Ensure database is not corrupted
Performance issues:
Reduce data scope with filters
Check available system memory
Consider using a more powerful machine for large datasets
Browser compatibility:
Use modern browsers (Chrome, Firefox, Safari, Edge)
Enable JavaScript
Clear browser cache if needed
Next Stepsο
π§ Command Line Tools - Command-line analytics and automation
π Advanced Features - Advanced analysis and exploration
api/dashboard - Detailed API reference