You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							36 lines
						
					
					
						
							853 B
						
					
					
				
			
		
		
	
	
							36 lines
						
					
					
						
							853 B
						
					
					
				#ifndef ONNXMODEL_H
 | 
						|
#define ONNXMODEL_H
 | 
						|
 | 
						|
#include <stdlib.h>
 | 
						|
#include "runmodel.h"
 | 
						|
 | 
						|
class ONNXModel : public RunModel {
 | 
						|
public:
 | 
						|
  ONNXModel(const char *path, float *output, size_t output_size, int runtime);
 | 
						|
	~ONNXModel();
 | 
						|
  void addRecurrent(float *state, int state_size);
 | 
						|
  void addDesire(float *state, int state_size);
 | 
						|
  void addTrafficConvention(float *state, int state_size);
 | 
						|
  void execute(float *net_input_buf, int buf_size);
 | 
						|
private:
 | 
						|
  int proc_pid;
 | 
						|
 | 
						|
  float *output;
 | 
						|
  size_t output_size;
 | 
						|
 | 
						|
  float *rnn_input_buf = NULL;
 | 
						|
  int rnn_state_size;
 | 
						|
  float *desire_input_buf = NULL;
 | 
						|
  int desire_state_size;
 | 
						|
  float *traffic_convention_input_buf = NULL;
 | 
						|
  int traffic_convention_size;
 | 
						|
 | 
						|
  // pipe to communicate to keras subprocess
 | 
						|
  void pread(float *buf, int size);
 | 
						|
  void pwrite(float *buf, int size);
 | 
						|
  int pipein[2];
 | 
						|
  int pipeout[2];
 | 
						|
};
 | 
						|
 | 
						|
#endif
 | 
						|
 | 
						|
 |