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