| { | |
| "family": "rvq", | |
| "method": "ai", | |
| "modality": "ecg", | |
| "sample_rate": 256, | |
| "compression_ratio": 2.0, | |
| "experiment_id": null, | |
| "run_name": "ecg_rvq_256hz_02x_golden", | |
| "package_version": "1.0", | |
| "input_contract": { | |
| "encoder_input_shape": [ | |
| null, | |
| 1, | |
| 512, | |
| 1 | |
| ], | |
| "encoder_input_dtype": "int8" | |
| }, | |
| "preprocessing_contract": {}, | |
| "encoder": { | |
| "tflite": "encoder.tflite", | |
| "header": "encoder.h", | |
| "input_shape": [ | |
| null, | |
| 1, | |
| 512, | |
| 1 | |
| ], | |
| "output_shape": [ | |
| null, | |
| 1, | |
| 256, | |
| 16 | |
| ] | |
| }, | |
| "decoder": { | |
| "keras": "decoder.keras", | |
| "float32_tflite": "decoder_float32.tflite", | |
| "int8_tflite": "decoder.tflite", | |
| "int8_header": "decoder.h", | |
| "input_shape": [ | |
| null, | |
| 1, | |
| 256, | |
| 16 | |
| ], | |
| "output_shape": [ | |
| null, | |
| 1, | |
| 512, | |
| 1 | |
| ] | |
| }, | |
| "codebook": { | |
| "npz": "codebook.npz", | |
| "header": "codebook.h", | |
| "num_levels": 4, | |
| "num_embeddings": 256, | |
| "embedding_dim": 16 | |
| }, | |
| "sample_data": { | |
| "npz": "sample_data.npz", | |
| "num_samples": 500, | |
| "arrays": [ | |
| "inputs", | |
| "targets", | |
| "reconstructions" | |
| ] | |
| } | |
| } |