therealestcoder commited on
Commit
3771fa4
·
verified ·
1 Parent(s): a30f9a1

Upload src\config.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. src//config.py +39 -0
src//config.py ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Конфигурация проекта детекции дефектов окраски кузова."""
2
+ import os
3
+ from pathlib import Path
4
+
5
+ ROOT = Path(__file__).resolve().parent.parent
6
+ DATA_RAW = ROOT / "data" / "raw" # raw/defect/*.jpg, raw/clean/*.jpg
7
+ DATA_PATCHES = ROOT / "data" / "patches" # patches/train|val/{defect,clean}
8
+ CHECKPOINTS = ROOT / "checkpoints"
9
+ RUNS = ROOT / "runs"
10
+
11
+ # Источник исходного датасета (АвтоВАЗ ТЗ)
12
+ SOURCE_DATASET = ROOT.parent / "3_Дефекты_окраски_кузова(детали)" / "3_Дефекты_окраски_кузова(детали)"
13
+ SRC_DEFECT = SOURCE_DATASET / "Фото с дефектами"
14
+ SRC_CLEAN = SOURCE_DATASET / "Фото без дефектов"
15
+
16
+ # Архитектура
17
+ BACKBONE = os.getenv("PDD_BACKBONE", "tf_efficientnetv2_s.in21k_ft_in1k") # сильный backbone из timm
18
+ NUM_CLASSES = 2 # defect / clean
19
+ IMG_SIZE = 384 # размер патча на входе модели
20
+ PATCH_SIZE = 512 # размер вырезаемого патча из 4000x1846
21
+ PATCH_STRIDE = 256 # шаг при инференсе (50% overlap)
22
+ PANEL_CROP = True # автоматически вырезать панель из фона
23
+
24
+ # Тренировка
25
+ BATCH_SIZE = int(os.getenv("PDD_BATCH_SIZE", 16))
26
+ EPOCHS = int(os.getenv("PDD_EPOCHS", 40))
27
+ LR = float(os.getenv("PDD_LR", 3e-4))
28
+ WEIGHT_DECAY = 1e-4
29
+ LABEL_SMOOTH = 0.05
30
+ NUM_WORKERS = 2
31
+ SEED = 42
32
+
33
+ # Инференс / порог принятия решения
34
+ DEFECT_THRESHOLD = 0.55 # вероятность для отнесения патча к "дефект"
35
+ PANEL_DEFECT_RATIO = 0.005 # доля дефектных пикселей, чтобы пометить деталь как дефектную
36
+
37
+ # REST API
38
+ API_HOST = "0.0.0.0"
39
+ API_PORT = 8080