devjas1 commited on
Commit
7a4d9b4
·
1 Parent(s): a003091

(CHORE)[config[: Refine configuration for model weights, sample data, and UI state

Browse files

- Centralized key configuration for Streamlit session state persistence (`KEEP_KEYS`), ensuring important UI context is retained after resets.
- Set `TARGET_LEN` for standardized spectrum preprocessing length.
- Defined `SAMPLE_DATA_DIR` using pathlib for robust path handling.
- Improved `MODEL_WEIGHTS_DIR` logic: checks for environment variable `WEIGHTS_DIR`, falls back to `model_weights` directory if present, otherwise defaults to `outputs`.
- Added clear label mapping (`LABEL_MAP`) for model output classes: "Stable (Unweathered)" and "Weathered (Degraded)".
- Enhanced maintainability and clarity of global configuration for

Files changed (1) hide show
  1. config.py +20 -43
config.py CHANGED
@@ -1,43 +1,20 @@
1
- from pathlib import Path
2
- import os
3
- from models.figure2_cnn import Figure2CNN
4
- from models.resnet_cnn import ResNet1D
5
-
6
- KEEP_KEYS = {
7
- # ==global UI context we want to keep after "Reset"==
8
- "model_select", # sidebar model key
9
- "input_mode", # radio for Upload|Sample
10
- "uploader_version", # version counter for file uploader
11
- "input_registry", # radio controlling Upload vs Sample
12
- }
13
-
14
- TARGET_LEN = 500
15
- SAMPLE_DATA_DIR = Path("sample_data")
16
-
17
- MODEL_WEIGHTS_DIR = (
18
- os.getenv("WEIGHTS_DIR")
19
- or ("model_weights" if os.path.isdir("model_weights") else "outputs")
20
- )
21
-
22
- # Model configuration
23
- MODEL_CONFIG = {
24
- "Figure2CNN (Baseline)": {
25
- "class": Figure2CNN,
26
- "path": f"{MODEL_WEIGHTS_DIR}/figure2_model.pth",
27
- "emoji": "",
28
- "description": "Baseline CNN with standard filters",
29
- "accuracy": "94.80%",
30
- "f1": "94.30%"
31
- },
32
- "ResNet1D (Advanced)": {
33
- "class": ResNet1D,
34
- "path": f"{MODEL_WEIGHTS_DIR}/resnet_model.pth",
35
- "emoji": "",
36
- "description": "Residual CNN with deeper feature learning",
37
- "accuracy": "96.20%",
38
- "f1": "95.90%"
39
- }
40
- }
41
-
42
- # ==Label mapping==
43
- LABEL_MAP = {0: "Stable (Unweathered)", 1: "Weathered (Degraded)"}
 
1
+ from pathlib import Path
2
+ import os
3
+
4
+ KEEP_KEYS = {
5
+ # ==global UI context we want to keep after "Reset"==
6
+ "model_select", # sidebar model key
7
+ "input_mode", # radio for Upload|Sample
8
+ "uploader_version", # version counter for file uploader
9
+ "input_registry", # radio controlling Upload vs Sample
10
+ }
11
+
12
+ TARGET_LEN = 500
13
+ SAMPLE_DATA_DIR = Path("sample_data")
14
+
15
+ MODEL_WEIGHTS_DIR = os.getenv("WEIGHTS_DIR") or (
16
+ "model_weights" if os.path.isdir("model_weights") else "outputs"
17
+ )
18
+
19
+ # ==Label mapping==
20
+ LABEL_MAP = {0: "Stable (Unweathered)", 1: "Weathered (Degraded)"}