Added ModelRunner helpers in modeld/runners/__init__.py (#29737)
* Added ModelRunner helper class
* import Runtime in __init__.py
old-commit-hash: d5a55136a1
beeps
parent
33a1122f5c
commit
cd7d73eaf8
2 changed files with 32 additions and 11 deletions
@ -0,0 +1,27 @@ |
|||||||
|
import os |
||||||
|
from openpilot.system.hardware import TICI |
||||||
|
from openpilot.selfdrive.modeld.runners.runmodel_pyx import RunModel, Runtime |
||||||
|
assert Runtime |
||||||
|
|
||||||
|
USE_THNEED = int(os.getenv('USE_THNEED', str(int(TICI)))) |
||||||
|
USE_SNPE = int(os.getenv('USE_SNPE', str(int(TICI)))) |
||||||
|
|
||||||
|
class ModelRunner(RunModel): |
||||||
|
THNEED = 'THNEED' |
||||||
|
SNPE = 'SNPE' |
||||||
|
ONNX = 'ONNX' |
||||||
|
|
||||||
|
def __new__(cls, paths, *args, **kwargs): |
||||||
|
if ModelRunner.THNEED in paths and USE_THNEED: |
||||||
|
from openpilot.selfdrive.modeld.runners.thneedmodel_pyx import ThneedModel as Runner |
||||||
|
runner_type = ModelRunner.THNEED |
||||||
|
elif ModelRunner.SNPE in paths and USE_SNPE: |
||||||
|
from openpilot.selfdrive.modeld.runners.snpemodel_pyx import SNPEModel as Runner |
||||||
|
runner_type = ModelRunner.SNPE |
||||||
|
elif ModelRunner.ONNX in paths: |
||||||
|
from openpilot.selfdrive.modeld.runners.onnxmodel_pyx import ONNXModel as Runner |
||||||
|
runner_type = ModelRunner.ONNX |
||||||
|
else: |
||||||
|
raise Exception("Couldn't select a model runner, make sure to pass at least one valid model path") |
||||||
|
|
||||||
|
return Runner(str(paths[runner_type]), *args, **kwargs) |
Loading…
Reference in new issue