erdoganpeker commited on
Commit
27e7f1e
·
1 Parent(s): 6486dcc

fix(config): weights paths read MODEL_DIR env (HF Spaces, prod)

Browse files

Default weights path was hardcoded to lokal dev bundle (services/ml/...
SNAPSHOT_FOR_BUILD). entrypoint.sh downloads weights to MODEL_DIR (/app/models
in HF/Render), so config now reads MODEL_DIR env with bundle as fallback.

Files changed (1) hide show
  1. services/backend/config.py +13 -4
services/backend/config.py CHANGED
@@ -83,13 +83,22 @@ class Settings(BaseSettings):
83
  )
84
 
85
  # ---- ML pipeline ----
86
- damage_weights: str = f"{_DEFAULT_BUNDLE}/damage_best.pt"
87
- parts_weights: str = f"{_DEFAULT_BUNDLE}/parts_best.pt"
88
- severity_weights: str = f"{_DEFAULT_BUNDLE}/severity_best.pt"
 
 
89
  cost_table_path: str = "services/backend/cost_table.yaml"
90
  ml_device: str = "cuda" # cuda|cpu|mps
91
  ml_imgsz: int = 640
92
- ml_warmup_on_startup: bool = True
 
 
 
 
 
 
 
93
 
94
  # ---- S3 storage ----
95
  # Render production: AWS S3 ya da Cloudflare R2. Dev: MinIO.
 
83
  )
84
 
85
  # ---- ML pipeline ----
86
+ # Default: entrypoint.sh MODEL_DIR'a indirir; production'da /app/models.
87
+ # Lokal dev'de bundle path override edilebilir (DAMAGE_WEIGHTS env).
88
+ damage_weights: str = os.getenv("MODEL_DIR", _DEFAULT_BUNDLE) + "/damage_best.pt"
89
+ parts_weights: str = os.getenv("MODEL_DIR", _DEFAULT_BUNDLE) + "/parts_best.pt"
90
+ severity_weights: str = os.getenv("MODEL_DIR", _DEFAULT_BUNDLE) + "/severity_best.pt"
91
  cost_table_path: str = "services/backend/cost_table.yaml"
92
  ml_device: str = "cuda" # cuda|cpu|mps
93
  ml_imgsz: int = 640
94
+ # RAM-tasarrufu (Render free 512MB): default kapali — pipeline ilk
95
+ # /inspect cagrisinda lazy yuklenir. Eager warmup istenirse env ile
96
+ # ML_WARMUP_ON_STARTUP=1 verilebilir (dev/GPU host'larda hizli baslangic).
97
+ ml_warmup_on_startup: bool = False
98
+ # RAM-tasarrufu: her inference sonrasi modelleri belleğe geri al ve
99
+ # gc tetikle. CPU-only deployment'larda (Render starter 512MB) ON; GPU
100
+ # dev'de OFF (her inference 2-3sn extra cold-load yememek icin).
101
+ ml_unload_after_inference: bool = False
102
 
103
  # ---- S3 storage ----
104
  # Render production: AWS S3 ya da Cloudflare R2. Dev: MinIO.