Upload folder using huggingface_hub
Browse files- chute_config.yml +1 -0
- miner.py +7 -5
chute_config.yml
CHANGED
|
@@ -16,6 +16,7 @@ NodeSelector:
|
|
| 16 |
- b200
|
| 17 |
- h200
|
| 18 |
- mi300x
|
|
|
|
| 19 |
|
| 20 |
Chute:
|
| 21 |
timeout_seconds: 900
|
|
|
|
| 16 |
- b200
|
| 17 |
- h200
|
| 18 |
- mi300x
|
| 19 |
+
- pro_6000
|
| 20 |
|
| 21 |
Chute:
|
| 22 |
timeout_seconds: 900
|
miner.py
CHANGED
|
@@ -68,13 +68,13 @@ class Miner:
|
|
| 68 |
self.input_shape = self.session.get_inputs()[0].shape
|
| 69 |
|
| 70 |
# Your export is fixed-size 1280, but we still read actual ONNX input shape first.
|
| 71 |
-
self.input_height = self._safe_dim(self.input_shape[2], default=
|
| 72 |
-
self.input_width = self._safe_dim(self.input_shape[3], default=
|
| 73 |
|
| 74 |
# Tuned for validator scoring: reduce FP (FALSE_POSITIVE pillar),
|
| 75 |
# preserve recall (MAP50, RECALL), improve precision.
|
| 76 |
-
self.conf_thres = 0.
|
| 77 |
-
self.iou_thres = 0.
|
| 78 |
self.max_det = 150 # Cap detections; sports ~20-30 persons
|
| 79 |
self.use_tta = True
|
| 80 |
|
|
@@ -188,7 +188,7 @@ class Miner:
|
|
| 188 |
boxes: np.ndarray,
|
| 189 |
scores: np.ndarray,
|
| 190 |
sigma: float = 0.5,
|
| 191 |
-
score_thresh: float = 0.
|
| 192 |
) -> tuple[np.ndarray, np.ndarray]:
|
| 193 |
"""
|
| 194 |
Soft-NMS: Gaussian decay of overlapping scores instead of hard removal.
|
|
@@ -198,6 +198,8 @@ class Miner:
|
|
| 198 |
if N == 0:
|
| 199 |
return np.array([], dtype=np.intp), np.array([], dtype=np.float32)
|
| 200 |
|
|
|
|
|
|
|
| 201 |
boxes = boxes.astype(np.float32, copy=True)
|
| 202 |
scores = scores.astype(np.float32, copy=True)
|
| 203 |
order = np.arange(N)
|
|
|
|
| 68 |
self.input_shape = self.session.get_inputs()[0].shape
|
| 69 |
|
| 70 |
# Your export is fixed-size 1280, but we still read actual ONNX input shape first.
|
| 71 |
+
self.input_height = self._safe_dim(self.input_shape[2], default=960)
|
| 72 |
+
self.input_width = self._safe_dim(self.input_shape[3], default=960)
|
| 73 |
|
| 74 |
# Tuned for validator scoring: reduce FP (FALSE_POSITIVE pillar),
|
| 75 |
# preserve recall (MAP50, RECALL), improve precision.
|
| 76 |
+
self.conf_thres = 0.32 # Higher = fewer FP, slightly lower recall
|
| 77 |
+
self.iou_thres = 0.55 # Lower = suppress duplicate detections (FP)
|
| 78 |
self.max_det = 150 # Cap detections; sports ~20-30 persons
|
| 79 |
self.use_tta = True
|
| 80 |
|
|
|
|
| 188 |
boxes: np.ndarray,
|
| 189 |
scores: np.ndarray,
|
| 190 |
sigma: float = 0.5,
|
| 191 |
+
score_thresh: float = 0.2,
|
| 192 |
) -> tuple[np.ndarray, np.ndarray]:
|
| 193 |
"""
|
| 194 |
Soft-NMS: Gaussian decay of overlapping scores instead of hard removal.
|
|
|
|
| 198 |
if N == 0:
|
| 199 |
return np.array([], dtype=np.intp), np.array([], dtype=np.float32)
|
| 200 |
|
| 201 |
+
sigma = max(float(sigma), 1e-6)
|
| 202 |
+
|
| 203 |
boxes = boxes.astype(np.float32, copy=True)
|
| 204 |
scores = scores.astype(np.float32, copy=True)
|
| 205 |
order = np.arange(N)
|