27 #include "NvOnnxParser.h" 28 #include "NvInferVersion.h" 34 namespace perception {
37 using BlobPtr = std::shared_ptr<apollo::perception::base::Blob<float>>;
40 class Logger :
public nvinfer1::ILogger {
42 explicit Logger(Severity severity = Severity::kWARNING)
45 void log(Severity severity,
const char* msg)
override {
50 case Severity::kINTERNAL_ERROR:
51 std::cerr <<
"INTERNAL_ERROR: ";
53 case Severity::kERROR:
54 std::cerr <<
"ERROR: ";
56 case Severity::kWARNING:
57 std::cerr <<
"WARNING: ";
60 std::cerr <<
"INFO: ";
63 std::cerr <<
"UNKNOWN: ";
66 std::cerr << msg << std::endl;
75 const float score_threshold,
76 const std::vector<std::string> &outputs,
77 const std::vector<std::string> &inputs);
80 const std::vector<std::string> &outputs,
81 const std::vector<std::string> &inputs);
91 void OnnxToTRTModel(
const std::string& model_file,
92 nvinfer1::ICudaEngine** engine_ptr);
96 bool Init(
const std::map<std::string, std::vector<int>> &shapes)
override;
97 void Infer()
override;
98 BlobPtr get_blob(
const std::string &name)
override;
101 std::string model_file_;
102 float score_threshold_;
103 std::vector<std::string> output_names_;
104 std::vector<std::string> input_names_;
106 nvinfer1::ICudaEngine* engine_;
107 nvinfer1::IExecutionContext* context_;
Severity reportable_severity
Definition: onnx_obstacle_detector.h:69
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
std::map< std::string, std::shared_ptr< apollo::perception::base::Blob< float > > > BlobMap
Definition: inference.h:34
Definition: onnx_obstacle_detector.h:40
Definition: inference.h:36
Logger(Severity severity=Severity::kWARNING)
Definition: onnx_obstacle_detector.h:42
void log(Severity severity, const char *msg) override
Definition: onnx_obstacle_detector.h:45
std::shared_ptr< apollo::perception::base::Blob< float > > BlobPtr
Definition: caffe_net.h:33
bool Init(const char *binary_name)
Definition: onnx_obstacle_detector.h:72