From bc849e2e9fd54b0daf6584c2eeb9d2cd9339ca4d Mon Sep 17 00:00:00 2001 From: Yoni Yang <76271912+yoni13@users.noreply.github.com> Date: Sun, 1 Dec 2024 16:42:53 +0000 Subject: [PATCH] ViT-B-32__openai/textual/ Runs with emulator now. --- machine-learning/app/config.py | 2 +- machine-learning/app/sessions/ort.py | 1 + machine-learning/app/sessions/rknn.py | 18 ++++++++++++------ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/machine-learning/app/config.py b/machine-learning/app/config.py index dcc60c46fc..9075b8fcd7 100644 --- a/machine-learning/app/config.py +++ b/machine-learning/app/config.py @@ -44,7 +44,7 @@ class Settings(BaseSettings): ann: bool = True ann_fp16_turbo: bool = False ann_tuning_level: int = 2 - rknn: bool = True + rknn: bool = False preload: PreloadModelData | None = None max_batch_size: MaxBatchSize | None = None diff --git a/machine-learning/app/sessions/ort.py b/machine-learning/app/sessions/ort.py index 00c7ad50a9..39b7e1bb60 100644 --- a/machine-learning/app/sessions/ort.py +++ b/machine-learning/app/sessions/ort.py @@ -46,6 +46,7 @@ class OrtSession: input_feed: dict[str, NDArray[np.float32]] | dict[str, NDArray[np.int32]], run_options: Any = None, ) -> list[NDArray[np.float32]]: + print(input_feed) outputs: list[NDArray[np.float32]] = self.session.run(output_names, input_feed, run_options) return outputs diff --git a/machine-learning/app/sessions/rknn.py b/machine-learning/app/sessions/rknn.py index aa09a06878..1c2e742c33 100644 --- a/machine-learning/app/sessions/rknn.py +++ b/machine-learning/app/sessions/rknn.py @@ -17,15 +17,20 @@ class RknnSession: def __init__(self, model_path: Path | str): self.model_path = Path(model_path) self.rknn = RKNN() # Initialize RKNN object - + self.rknn.config(target_platform='rk3566') # Load the RKNN model log.info(f"Loading RKNN model from {self.model_path}") self._load_model() def _load_model(self) -> None: - ret = self.rknn.load_rknn(self.model_path.as_posix()) + ret = self.rknn.load_onnx(self.model_path.as_posix()) if ret != 0: raise RuntimeError("Failed to load RKNN model") + print('--> Building model') + ret = self.rknn.build(do_quantization=False) + if ret != 0: + print('Build model failed!') + exit(ret) ret = self.rknn.init_runtime() if ret != 0: @@ -41,15 +46,16 @@ class RknnSession: def run( self, - input_feed: dict[str, NDArray[np.float32] | NDArray[np.int32]], + output_names: list[str] | None, + input_feed: dict[str, NDArray[np.float32]] | dict[str, NDArray[np.int32]], + run_options: Any = None, ) -> List[NDArray[np.float32]]: + print(input_feed) inputs = [v for v in input_feed.values()] # Run inference log.debug(f"Running inference on RKNN model") - ret, outputs = self.rknn.inference(inputs=inputs) - if ret != 0: - raise RuntimeError("Inference failed") + outputs = self.rknn.inference(inputs=inputs) return outputs def release(self) -> None: