| { |
| "feature_file_name": "multi_features_data_simu5.pkl", |
| "dsp": "model config file (Example)", |
| "datasource": [ |
| { |
| "type": "vibration", |
| "field": "esp32_vib.z_acc", |
| "sample_rate": 1000 |
| }, |
| { |
| "type": "power", |
| "field": "esp32_power.ch0", |
| "sample_rate": 200 |
| }, |
| { |
| "type": "sound", |
| "field": "sound.data", |
| "sample_rate": 16000 |
| } |
| ], |
| "FeatureDummyPoweroff": { |
| "Is_enable": true, |
| "_Is_enable_dsp": "true: append synthetic power-off feature rows during Feature(wav) and Feature(Direct). false: keep only real data.", |
| "power_threshold_mv": 20, |
| "_power_threshold_mv_dsp": "Dummy power RMS values are uniform random between 0 and this raw mV threshold.", |
| "ratio": 0.1, |
| "_ratio_dsp": "Dummy rows relative to real feature windows. 0.1 adds 10%.", |
| "label": 0, |
| "_label_dsp": "Label value appended only when the feature run already has labels.", |
| "random_seed": 42, |
| "_random_seed_dsp": "Seed for repeatable dummy data. Use null for non-repeatable random values." |
| }, |
| "Is_train_autoencoder": false, |
| "autoencoder_structure": 4, |
| "L1": { |
| "Is_enable": true, |
| "_Is_enable_dsp": "true: train/use L1 for poweroff/standby/running gate. false: skip L1 and let L2 classify all machine states directly.", |
| "noise_threshold": 0.01, |
| "_noise_threshold_dsp": "0603 the number less of cluster than the threshold, consider to be noise", |
| "choose_model_power": "Mix", |
| "_choose_model_power_dsp": "options: Mix, DBSCAN", |
| "choose_model_vib": "Hierarchical", |
| "_choose_model_vib_dsp": "options, Hierarchical, DBSCAN", |
| "choose_model_pressure": "Hierarchical", |
| "_choose_model_pressure_dsp": "options, Hierarchical, DBSCAN. Pressure is optional and trains only when pressure_features exists.", |
| "DBSCAN_power_params": [ |
| 1.2, |
| 50, |
| 0.9 |
| ], |
| "DBSCAN_params_dsp": "p1= eps, p2= min count in cluster, p3= standby threshold", |
| "Hierarchical_power_params": [ |
| 0.2, |
| 1, |
| 2, |
| 0.2 |
| ], |
| "_param1_dsp": "param 1 is factor ,the stable indicattor (less than value)(difference from the reverse previous 2 level)", |
| "_param2_dsp": "param 2 is min number of cluster", |
| "_param3_dsp": "param 3 is max number of cluster", |
| "_param4_dsp": "param 4 is standby threshold (percentage)", |
| "Is_save_model": true, |
| "Hierarchical_vib_params": [ |
| 0.2, |
| 4, |
| 10, |
| 0.5 |
| ], |
| "_Hierarchical_vib_params_dsp": "For vibration, the format is same", |
| "Hierarchical_pressure_params": [ |
| 0.2, |
| 4, |
| 10, |
| 0.5 |
| ], |
| "_Hierarchical_pressure_params_dsp": "For PU5401 pressure L1 clustering. Same format as vibration.", |
| "pressure_l1_feature": "max", |
| "_pressure_l1_feature_dsp": "Pressure feature used by L1/noise logic. Options: max, min, average, peak_to_peak.", |
| "L1_models_name": "L1_models.pkl" |
| }, |
| "L2": { |
| "strategy": "consensus", |
| "_strategy_dsp": "options: consensus, feature_fusion, meta_clustering, multi_view_cluster", |
| "Is_save_model": true, |
| "consensus_model": "GMM", |
| "_consensus_model_dsp": "model using on each type of sensor clusting: KMeans, GMM", |
| "result_type": "prob", |
| "_result_type_dsp": "The input the consensus matrix is each submodel result: prob (probability), one-hot", |
| "feature_fusion_pca_factor": 0.95, |
| "_feature_fusion_pca_factor_dsp": "how much the PCA catch of the variance for feature_fusion, meta_clustering, multi_view_cluster", |
| "feature_fusion_model": "GMM", |
| "meta_clustering_model": "GMM", |
| "number_class": 0, |
| "_number_class_dsp": "The spicify cluster number of each type of sensor. 0 mean search optimal number base on certain score", |
| "min_class": 3, |
| "_min_class_dsp": "minimum cluster number for search optimal option", |
| "max_class": 7, |
| "_max_class_dsp": "maximum cluster number (not include) for search optimal option", |
| "stable_indicator": 0.3, |
| "_stable_indicator_dsp": "when change less than the value, consider it's stable", |
| "covariance_type": "diag", |
| "_covariance_type_dsp": "GMM parameter, effect on model size", |
| "gmm_reg_covar": 1e-06, |
| "_gmm_reg_covar_dsp": "Small covariance regularization for GMM. Increase if a nearly constant sensor causes ill-defined covariance.", |
| "consensus_max_matrix_samples": 10000, |
| "_consensus_max_matrix_samples_dsp": "Maximum sample count for the full L2 consensus N x N matrix. Larger runs use direct probability clustering.", |
| "label_sort_preference": [ |
| "vibration", |
| "pressure", |
| "power", |
| "sound" |
| ], |
| "_label_sort_preference_dsp": "Preferred active sensor order for sorting L2 labels from lower to higher activity." |
| } |
| } |