{
    "name": "den-tcn-sm",
    "project": "hk-denoise",
    "job_dir": "./results/den-tcn-sm",
    "verbose": 2,

    "dataset_weights": [0.9, 0.1],
    "datasets": [{
        "name": "ecg-synthetic",
        "params": {
            "num_pts": 2000,
            "params": {
                "presets": ["SR", "AFIB", "ant_STEMI", "LAHB", "LPHB", "high_take_off", "LBBB", "random_morphology"],
                "preset_weights": [85, 10, 1, 1, 1, 1, 1, 0],
                "duration": 10,
                "sample_rate": 100,
                "heart_rate": [40, 180],
                "impedance": [1, 2],
                "p_multiplier": [0.7, 1.3],
                "t_multiplier": [0.7, 1.3],
                "noise_multiplier": [0, 0.01],
                "voltage_factor": [800, 1000]
            }
        }
    }, {
        "name": "ptbxl",
        "params": {
            "path": "./datasets/ptbxl"
        }
    }],

    "sampling_rate": 100,
    "frame_size": 250,

    "samples_per_patient": 5,
    "val_samples_per_patient": 10,
    "test_samples_per_patient": 10,

    "val_size": 20000,
    "test_size": 20000,

    "val_patients": 0.20,
    "batch_size": 256,
    "buffer_size": 25000,
    "epochs": 150,
    "steps_per_epoch": 50,
    "val_metric": "loss",
    "lr_rate": 1e-3,
    "lr_cycles": 1,

    "tflm_var_name": "ecg_denoise_flatbuffer",
    "tflm_file": "ecg_denoise_flatbuffer.h",

    "backend": "evb",
    "demo_size": 768,
    "display_report": false,

    "quantization": {
        "qat": false,
        "mode": "FP32",
        "io_type": "float32",
        "concrete": true,
        "debug": false
    },
    "flatten": true,

    "preprocesses": [
        {
            "name": "layer_norm",
            "params": {
                "epsilon": 0.01,
                "name": "znorm"
            }
        }
    ],

    "augmentations": [{
        "name": "amplitude_warp",
        "params": {
            "amplitude": [0.9, 1.1],
            "frequency": [0.5, 1.5],
            "name": "amplitude_warp"
        }
    }, {
        "name": "random_noise_distortion",
        "params": {
            "amplitude": [0, 0.5],
            "frequency": [0.5, 1.5],
            "name": "baseline_wander"
        }
    },{
        "name": "random_sine_wave",
        "params": {
            "amplitude": [0, 0.05],
            "frequency": [45, 50],
            "name": "powerline_noise"
        }
    },{
        "name": "random_noise",
        "params": {
            "factor": [0, 0.1],
            "name": "random_noise"
        }
    }, {
        "name": "random_background_noise",
        "params": {
            "amplitude": [0, 0.2],
            "num_noises": 2,
            "name": "nstdb"
        }
    }],

    "model_file": "model.keras",
    "use_logits": true,
    "architecture": {
        "name": "tcn",
        "params": {
            "input_kernel": [1, 7],
            "input_norm": "batch",
            "blocks": [
                {"depth": 1, "branch": 1, "filters": 8, "kernel": [1, 7], "dilation": [1, 1], "dropout": 0, "ex_ratio": 1, "se_ratio": 0, "norm": "batch"},
                {"depth": 1, "branch": 1, "filters": 16, "kernel": [1, 7], "dilation": [1, 1], "dropout": 0, "ex_ratio": 1, "se_ratio": 2, "norm": "batch"},
                {"depth": 1, "branch": 1, "filters": 24, "kernel": [1, 7], "dilation": [1, 2], "dropout": 0, "ex_ratio": 1, "se_ratio": 2, "norm": "batch"},
                {"depth": 1, "branch": 1, "filters": 32, "kernel": [1, 7], "dilation": [1, 4], "dropout": 0, "ex_ratio": 1, "se_ratio": 2, "norm": "batch"}
            ],
            "output_kernel": [1, 7],
            "include_top": true,
            "use_logits": true,
            "model_name": "tcn"
        }
    }
}
