Merge pull request #1704 from roboflow/fix/from_inference_to_support_deployed_roboflow_results

from_inference now supports roboflow results without json()
This commit is contained in:
LinasKo authored and GitHub committed 2024-12-04 12:36:14 +02:00
commit c416474b63
2 files changed
+6 -5

No files matched your search

+3 -2
View File
@@ -1,6 +1,5 @@
from __future__ import annotations
from contextlib import suppress
from dataclasses import dataclass, field
from typing import Any, Dict, Iterator, List, Optional, Tuple, Union
@@ -606,8 +605,10 @@ class Detections:
detections = sv.Detections.from_inference(result)
```
"""
with suppress(AttributeError):
if hasattr(roboflow_result, "dict"):
roboflow_result = roboflow_result.dict(exclude_none=True, by_alias=True)
elif hasattr(roboflow_result, "json"):
roboflow_result = roboflow_result.json()
xyxy, confidence, class_id, masks, trackers, data = process_roboflow_result(
roboflow_result=roboflow_result
)
+3 -3
View File
@@ -1,6 +1,5 @@
from __future__ import annotations
from contextlib import suppress
from dataclasses import dataclass, field
from typing import Any, Dict, Iterable, Iterator, List, Optional, Tuple, Union
@@ -204,9 +203,10 @@ class KeyPoints:
"You can retrieve it like so: inference_result = model.infer(image)[0]"
)
with suppress(AttributeError):
if hasattr(inference_result, "dict"):
inference_result = inference_result.dict(exclude_none=True, by_alias=True)
elif hasattr(inference_result, "json"):
inference_result = inference_result.json()
if not inference_result.get("predictions"):
return cls.empty()