{ "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" ] } }