@ -15,15 +15,11 @@ 
			
		
	
		
		
			
				
					
					# include  "selfdrive/common/util.h" # include  "selfdrive/common/util.h"  
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					ONNXModel : : ONNXModel ( const  char  * path ,  float  * _output ,  size_t  _output_size ,  int  runtime )  { ONNXModel : : ONNXModel ( const  char  * path ,  float  * _output ,  size_t  _output_size ,  int  runtime )  {  
			
		
	
		
		
			
				
					
					  LOGD ( " loading model %s " ,  path ) ;   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					  output  =  _output ;    output  =  _output ;   
			
		
	
		
		
			
				
					
					  output_size  =  _output_size ;    output_size  =  _output_size ;   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					  char  tmp [ 1024 ] ;   
			
		
	
		
		
			
				
					
					  strncpy ( tmp ,  path ,  sizeof ( tmp ) ) ;   
			
		
	
		
		
			
				
					
					  strstr ( tmp ,  " .dlc " ) [ 0 ]  =  ' \0 ' ;   
			
		
	
		
		
			
				
					
					  strcat ( tmp ,  " .onnx " ) ;   
			
		
	
		
		
			
				
					
					  LOGD ( " loading model %s " ,  tmp ) ;   
			
		
	
		
		
			
				
					
					
 
			
		
	
		
		
			
				
					
					  int  err  =  pipe ( pipein ) ;    int  err  =  pipe ( pipein ) ;   
			
		
	
		
		
			
				
					
					  assert ( err  = =  0 ) ;    assert ( err  = =  0 ) ;   
			
		
	
		
		
			
				
					
					  err  =  pipe ( pipeout ) ;    err  =  pipe ( pipeout ) ;   
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
						
					 
					@ -35,7 +31,7 @@ ONNXModel::ONNXModel(const char *path, float *_output, size_t _output_size, int 
			
		
	
		
		
			
				
					
					  proc_pid  =  fork ( ) ;    proc_pid  =  fork ( ) ;   
			
		
	
		
		
			
				
					
					  if  ( proc_pid  = =  0 )  {    if  ( proc_pid  = =  0 )  {   
			
		
	
		
		
			
				
					
					    LOGD ( " spawning onnx process %s " ,  onnx_runner . c_str ( ) ) ;      LOGD ( " spawning onnx process %s " ,  onnx_runner . c_str ( ) ) ;   
			
		
	
		
		
			
				
					
					    char  * argv [ ]  =  { ( char * ) onnx_runner . c_str ( ) ,  tmp ,  NULL } ;      char  * argv [ ]  =  { ( char * ) onnx_runner . c_str ( ) ,  ( char * ) path ,  nullptr } ;   
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					    dup2 ( pipein [ 0 ] ,  0 ) ;      dup2 ( pipein [ 0 ] ,  0 ) ;   
			
		
	
		
		
			
				
					
					    dup2 ( pipeout [ 1 ] ,  1 ) ;      dup2 ( pipeout [ 1 ] ,  1 ) ;   
			
		
	
		
		
			
				
					
					    close ( pipein [ 0 ] ) ;      close ( pipein [ 0 ] ) ;