coreml/openvino: publish

This commit is contained in:
Koushik Dutta
2024-04-15 10:35:10 -07:00
parent 69fd86a684
commit 8abdab70e9
6 changed files with 21 additions and 23 deletions

View File

@@ -1,12 +1,12 @@
{
"name": "@scrypted/coreml",
"version": "0.1.37",
"version": "0.1.38",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@scrypted/coreml",
"version": "0.1.37",
"version": "0.1.38",
"devDependencies": {
"@scrypted/sdk": "file:../../sdk"
}

View File

@@ -42,5 +42,5 @@
"devDependencies": {
"@scrypted/sdk": "file:../../sdk"
},
"version": "0.1.37"
"version": "0.1.38"
}

View File

@@ -173,12 +173,9 @@ class CoreMLPlugin(PredictPlugin, scrypted_sdk.Settings, scrypted_sdk.DeviceProv
# run in executor if this is the plugin loop
if self.yolo:
if asyncio.get_event_loop() is self.loop:
out_dict = await asyncio.get_event_loop().run_in_executor(
predictExecutor, lambda: self.model.predict({self.input_name: input})
)
else:
out_dict = self.model.predict({self.input_name: input})
out_dict = await asyncio.get_event_loop().run_in_executor(
predictExecutor, lambda: self.model.predict({self.input_name: input})
)
if self.scrypted_yolo:
results = list(out_dict.values())[0][0]
@@ -216,17 +213,12 @@ class CoreMLPlugin(PredictPlugin, scrypted_sdk.Settings, scrypted_sdk.DeviceProv
ret = self.create_detection_result(objs, src_size, cvss)
return ret
if asyncio.get_event_loop() is self.loop:
out_dict = await asyncio.get_event_loop().run_in_executor(
predictExecutor,
lambda: self.model.predict(
{"image": input, "confidenceThreshold": self.minThreshold}
),
)
else:
out_dict = self.model.predict(
out_dict = await asyncio.get_event_loop().run_in_executor(
predictExecutor,
lambda: self.model.predict(
{"image": input, "confidenceThreshold": self.minThreshold}
)
),
)
coordinatesList = out_dict["coordinates"].astype(float)

View File

@@ -1,12 +1,12 @@
{
"name": "@scrypted/openvino",
"version": "0.1.60",
"version": "0.1.62",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@scrypted/openvino",
"version": "0.1.60",
"version": "0.1.62",
"devDependencies": {
"@scrypted/sdk": "file:../../sdk"
}

View File

@@ -42,5 +42,5 @@
"devDependencies": {
"@scrypted/sdk": "file:../../sdk"
},
"version": "0.1.60"
"version": "0.1.62"
}

View File

@@ -11,12 +11,15 @@ import scrypted_sdk
from PIL import Image
from scrypted_sdk.other import SettingValue
from scrypted_sdk.types import Setting
import concurrent.futures
import common.yolo as yolo
from predict import Prediction, PredictPlugin, Rectangle
from .recognition import OpenVINORecognition
predictExecutor = concurrent.futures.ThreadPoolExecutor(8, "OpenVINO-Predict")
availableModels = [
"Default",
"scrypted_yolov9c_320",
@@ -245,7 +248,10 @@ class OpenVINOPlugin(
# Set input tensor for model with one input
infer_request.set_input_tensor(input_tensor)
infer_request.start_async()
infer_request.wait()
# todo: use the inference queue provided by openvino
await asyncio.get_event_loop().run_in_executor(
predictExecutor, lambda: infer_request.wait()
)
objs = []