diff --git a/servers/unraid/tail2-pose-server/app/tail2/models.py b/servers/unraid/tail2-pose-server/app/tail2/models.py index b15fa38..8a2dbc9 100644 --- a/servers/unraid/tail2-pose-server/app/tail2/models.py +++ b/servers/unraid/tail2-pose-server/app/tail2/models.py @@ -35,9 +35,11 @@ class Models: @torch.inference_mode() def infer(self, frame: np.ndarray, threshold: float, max_people: int) -> tuple[list[dict], float, float]: from mmdet.apis import inference_detector + from mmengine.registry import init_default_scope from mmpose.apis import inference_topdown height, width = frame.shape[:2] t0 = time.perf_counter_ns() + init_default_scope("mmdet") result = inference_detector(self.detector, frame) pred = result.pred_instances.cpu().numpy() keep = (pred.labels == 0) & (pred.scores >= threshold) @@ -48,6 +50,7 @@ class Models: boxes, scores = boxes[order], scores[order] det_ms = (time.perf_counter_ns() - t0) / 1e6 t1 = time.perf_counter_ns() + init_default_scope("mmpose") pose_results = inference_topdown(self.pose, frame, bboxes=boxes) if len(boxes) else [] pose_ms = (time.perf_counter_ns() - t1) / 1e6 people = [] @@ -66,4 +69,3 @@ class Models: "pose_score": float(np.mean(np.nan_to_num(kp_scores[:17]))), }) return people, det_ms, pose_ms -