Added ModelRunner helpers in modeld/runners/__init__.py (#29737)
	
		
	
				
					
				
			* Added ModelRunner helper class
* import Runtime in __init__.py
old-commit-hash: d5a55136a1
			
			
				vw-mqb-aeb
			
			
		
							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