Spaces:
Running
Running
| #!/usr/bin/env python3 | |
| """ | |
| Add demo training data to an existing experiment | |
| This will populate the experiment with realistic training metrics for visualization | |
| """ | |
| import json | |
| import logging | |
| import numpy as np | |
| from datetime import datetime | |
| from trackio_api_client import TrackioAPIClient | |
| # Setup logging | |
| logging.basicConfig(level=logging.INFO) | |
| logger = logging.getLogger(__name__) | |
| def add_demo_training_data(experiment_id: str, num_steps: int = 50): | |
| """Add realistic demo training data to an experiment""" | |
| client = TrackioAPIClient("https://tonic-test-trackio-test.hf.space") | |
| print(f"π― Adding demo training data to experiment: {experiment_id}") | |
| print(f"π Will add {num_steps} metric entries...") | |
| # Simulate realistic training metrics | |
| for step in range(0, num_steps * 25, 25): # Every 25 steps | |
| # Simulate loss decreasing over time with some noise | |
| base_loss = 2.0 * np.exp(-step / 500) | |
| noise = 0.1 * np.random.random() | |
| loss = max(0.1, base_loss + noise) | |
| # Simulate accuracy increasing over time | |
| base_accuracy = 0.3 + 0.6 * (1 - np.exp(-step / 300)) | |
| accuracy = min(0.95, base_accuracy + 0.05 * np.random.random()) | |
| # Simulate learning rate decay | |
| lr = 3.5e-6 * (0.9 ** (step // 200)) | |
| # Simulate GPU memory usage | |
| gpu_memory = 20 + 5 * np.random.random() | |
| # Simulate training time per step | |
| training_time = 0.5 + 0.2 * np.random.random() | |
| metrics = { | |
| "loss": round(loss, 4), | |
| "accuracy": round(accuracy, 4), | |
| "learning_rate": round(lr, 8), | |
| "gpu_memory_gb": round(gpu_memory, 2), | |
| "training_time_per_step": round(training_time, 3), | |
| "epoch": step // 100 + 1, | |
| "samples_per_second": round(50 + 20 * np.random.random(), 1) | |
| } | |
| # Log metrics to the experiment | |
| result = client.log_metrics(experiment_id, metrics, step) | |
| if "success" in result: | |
| print(f"β Step {step}: Loss={loss:.4f}, Accuracy={accuracy:.4f}") | |
| else: | |
| print(f"β Step {step}: Failed to log metrics - {result}") | |
| print(f"\nπ Demo data added successfully!") | |
| print(f"π Total steps logged: {num_steps}") | |
| print(f"π View in Trackio Space: https://tonic-test-trackio-test.hf.space") | |
| print(f"π Go to 'Visualizations' tab and select experiment: {experiment_id}") | |
| def main(): | |
| """Main function""" | |
| print("π Trackio Demo Data Generator") | |
| print("=" * 50) | |
| # Your experiment ID from the logs | |
| experiment_id = "exp_20250720_101955" # petit-elle-l-aime-3-balanced | |
| print(f"π Target experiment: {experiment_id}") | |
| print(f"π Experiment name: petit-elle-l-aime-3-balanced") | |
| # Add demo data | |
| add_demo_training_data(experiment_id, num_steps=50) | |
| print("\n" + "=" * 50) | |
| print("π― Next Steps:") | |
| print("1. Go to https://tonic-test-trackio-test.hf.space") | |
| print("2. Click on 'π Visualizations' tab") | |
| print("3. Enter your experiment ID: exp_20250720_101955") | |
| print("4. Select a metric (loss, accuracy, etc.)") | |
| print("5. Click 'Create Plot' to see the training curves!") | |
| print("=" * 50) | |
| if __name__ == "__main__": | |
| main() |