Added ModelRunner helpers in modeld/runners/__init__.py (#29737)
* Added ModelRunner helper class * import Runtime in __init__.pypull/29742/head
parent
2dd7a6fc64
commit
d5a55136a1
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