File size: 1,410 Bytes
eef8873
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
from pathlib import Path
import torch

# ---------------- PATHS ----------------
BASE_DIR = Path(__file__).resolve().parents[1]

DATASET_DIR = BASE_DIR / "data" / "dataset"
CHECKPOINT_DIR = BASE_DIR / "checkpoints"
EXPORT_DIR = BASE_DIR / "exports"

CHECKPOINT_DIR.mkdir(exist_ok=True)
EXPORT_DIR.mkdir(exist_ok=True)

# ---------------- TRAINING ----------------
BATCH_SIZE = 16
NUM_WORKERS = 4
LEARNING_RATE = 1e-4
WEIGHT_DECAY = 1e-5
VALIDATION_SPLIT = 0.2
RANDOM_SEED = 42

# TEMP DEV SETTING
EPOCHS = 1

DEVICE = "cuda" if torch.cuda.is_available() else "cpu"

# ---------------- IMAGE SIZES ----------------
RESNET_IMAGE_SIZE = 128
FUSION_IMAGE_SIZE = 260
YOLO_IMAGE_SIZE = 640

# ---------------- YOLO ----------------
YOLO_BASE_MODEL = "yolo11m.pt"
YOLO_BATCH_SIZE = 10
YOLO_EPOCHS = 1
YOLO_CONFIDENCE_THRESHOLD = 0.05

# ---------------- CLASSES ----------------
CLASS_NAMES = [
    "F_Breakage",
    "F_Crushed",
    "F_Normal",
    "R_Breakage",
    "R_Crushed",
    "R_Normal"
]



CLASS_MAP = {idx: cls for idx, cls in enumerate(CLASS_NAMES)}
CLASS_TO_IDX = {cls: idx for idx, cls in enumerate(CLASS_NAMES)}

NUM_CLASSES = len(CLASS_NAMES)

# ---------------- HUGGING FACE ----------------
HF_USERNAME = "junaid17"

HF_RESNET_REPO = "new-car-damage-classifier"
HF_FUSION_REPO = "new-best-fusion-model-fp16"
HF_YOLO_REPO = "new-Yolo-Model"