| { | |
| "model_type": "adaptive_serdes_lstm", | |
| "architecture": "LSTM", | |
| "task": "regression", | |
| "model_config": { | |
| "input_size": 12, | |
| "hidden_size": 256, | |
| "num_layers": 3, | |
| "output_size": 31, | |
| "dropout": 0.2, | |
| "batch_first": true | |
| }, | |
| "input_features": [ | |
| "insertion_loss_db", | |
| "return_loss_db", | |
| "group_delay_ps", | |
| "data_rate_gbps", | |
| "nyquist_freq_ghz", | |
| "eye_height_v", | |
| "eye_width_ui", | |
| "snr_db", | |
| "ber_estimate", | |
| "jitter_rms_ui", | |
| "amplitude_v", | |
| "quality_factor" | |
| ], | |
| "output_parameters": [ | |
| "ffe_tap_0", "ffe_tap_1", "ffe_tap_2", "ffe_tap_3", "ffe_tap_4", "ffe_tap_5", "ffe_tap_6", | |
| "dfe_tap_0", "dfe_tap_1", "dfe_tap_2", "dfe_tap_3", "dfe_tap_4", "dfe_tap_5", "dfe_tap_6", "dfe_tap_7", | |
| "tx_swing_v", "tx_pre_emphasis", "tx_post_emphasis", "tx_slew_rate", "tx_drive_strength", "tx_offset", "tx_skew", "tx_jitter_control", | |
| "rx_ctle_gain", "rx_ctle_bandwidth", "rx_vga_gain", "rx_offset_compensation", "rx_dfe_enable", "rx_lms_adaptation", "rx_threshold", "rx_hysteresis" | |
| ], | |
| "normalization": { | |
| "input_mean": [-15.5, -35.2, 85.3, 51.2, 25.6, 0.75, 0.68, 15.2, 1e-10, 0.12, 1.8, 0.88], | |
| "input_std": [8.2, 15.4, 35.8, 42.1, 21.3, 0.25, 0.15, 6.8, 5e-10, 0.08, 0.6, 0.15], | |
| "output_range": [-1.0, 1.0] | |
| }, | |
| "training_info": { | |
| "epochs": 500, | |
| "batch_size": 64, | |
| "learning_rate": 0.001, | |
| "optimizer": "Adam", | |
| "loss_function": "MSELoss", | |
| "final_loss": 0.0028, | |
| "validation_loss": 0.0031, | |
| "r2_score": 0.92 | |
| }, | |
| "version": "1.0.0", | |
| "pytorch_version": "2.7.1+cu118", | |
| "creation_date": "2025-09-07", | |
| "author": "Fidel Makatia Omusilibwa" | |
| } | |