#!/usr/bin/env python3 """ Test real training data logging and retrieval """ import json import logging from trackio_api_client import TrackioAPIClient # Setup logging logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) def test_real_training_data(): """Test if real training data is being logged and can be retrieved""" client = TrackioAPIClient("https://tonic-test-trackio-test.hf.space") # Your experiment ID experiment_id = "exp_20250720_101955" print("๐Ÿ” Testing Real Training Data") print("=" * 50) # 1. Test getting experiment details print(f"\n1. Getting experiment details for {experiment_id}...") details_result = client.get_experiment_details(experiment_id) if "success" in details_result: print("โœ… Experiment details retrieved successfully") try: details_preview = details_result['data'][:200] print(f"Details: {details_preview}...") except UnicodeEncodeError: print(f"Details: {details_result['data'][:100].encode('utf-8', errors='ignore').decode('utf-8')}...") # Look for metrics in the details if "metrics" in details_result['data'].lower(): print("โœ… Found metrics in experiment details") else: print("โŒ No metrics found in experiment details") else: print(f"โŒ Failed to get experiment details: {details_result}") # 2. Test getting training metrics specifically print(f"\n2. Getting training metrics for {experiment_id}...") metrics_result = client.get_training_metrics(experiment_id) if "success" in metrics_result: print("โœ… Training metrics retrieved successfully") print(f"Metrics: {metrics_result['data'][:200]}...") else: print(f"โŒ Failed to get training metrics: {metrics_result}") # 3. Test getting metrics history print(f"\n3. Getting metrics history for {experiment_id}...") history_result = client.get_experiment_metrics_history(experiment_id) if "success" in history_result: print("โœ… Metrics history retrieved successfully") print(f"History: {history_result['data'][:200]}...") else: print(f"โŒ Failed to get metrics history: {history_result}") # 4. List all experiments to see what's available print(f"\n4. Listing all experiments...") list_result = client.list_experiments() if "success" in list_result: print("โœ… Experiments listed successfully") try: response_preview = list_result['data'][:300] print(f"Response: {response_preview}...") except UnicodeEncodeError: print(f"Response: {list_result['data'][:150].encode('utf-8', errors='ignore').decode('utf-8')}...") else: print(f"โŒ Failed to list experiments: {list_result}") print("\n" + "=" * 50) print("๐ŸŽฏ Analysis Complete") print("=" * 50) def log_real_training_step(experiment_id: str, step: int): """Log a single real training step for testing""" client = TrackioAPIClient("https://tonic-test-trackio-test.hf.space") # Real training metrics metrics = { "loss": 1.2345, "accuracy": 0.8567, "learning_rate": 3.5e-6, "gpu_memory_gb": 22.5, "training_time_per_step": 0.8, "epoch": 1, "samples_per_second": 45.2 } print(f"๐Ÿ“Š Logging real training step {step}...") result = client.log_metrics(experiment_id, metrics, step) if "success" in result: print(f"โœ… Step {step} logged successfully") print(f"Metrics: {metrics}") else: print(f"โŒ Failed to log step {step}: {result}") if __name__ == "__main__": # Test existing data test_real_training_data() # Optionally log a test step print("\n" + "=" * 50) print("๐Ÿงช Testing Real Data Logging") print("=" * 50) experiment_id = "exp_20250720_101955" log_real_training_step(experiment_id, 1000) print("\n" + "=" * 50) print("๐ŸŽฏ Next Steps:") print("1. Run your actual training: python run_a100_large_experiment.py") print("2. The training will log real metrics every 25 steps") print("3. Check the visualization tab in your Trackio Space") print("4. Real training data should appear as training progresses") print("=" * 50)