| | |
| | | |
| | | #include "plugin_factory.h" |
| | | #include "trt_utils.h" |
| | | |
| | | #include "calibrator.h" |
| | | #include "NvInfer.h" |
| | | #include "NvInferPlugin.h" |
| | | #include "NvInferRuntimeCommon.h" |
| | |
| | | #include "../utils/time_util.h" |
| | | #include "../config.h" |
| | | #include "opencv2/opencv.hpp" |
| | | #include <numeric> |
| | | |
| | | struct NetworkInfo |
| | | { |
| | |
| | | const std::string m_DeviceType; |
| | | const std::string m_InputBlobName; |
| | | std::vector<TensorInfo> m_OutputTensors; |
| | | std::vector<std::map<std::string, std::string>> m_configBlocks; |
| | | uint32_t m_InputH; |
| | | uint32_t m_InputW; |
| | | uint32_t m_InputC; |
| | |
| | | void setOutput(int type); |
| | | private: |
| | | Logger m_Logger; |
| | | void createYOLOEngine(const nvinfer1::DataType dataType = nvinfer1::DataType::kFLOAT, |
| | | Int8EntropyCalibrator* calibrator = nullptr); |
| | | void writePlanFileToDisk(); |
| | | std::vector<std::map<std::string, std::string>> parseConfigFile(const std::string cfgFilePath); |
| | | void parseConfigBlocks(); |
| | | void allocateBuffers(); |
| | | bool verifyEngine(); |
| | | void destroyNetworkUtils(std::vector<nvinfer1::Weights>& trtWeights); |
| | | protected: |
| | | const std::string m_NetworkType; |
| | | std::unique_ptr<YoloTinyMaxpoolPaddingFormula> m_TinyMaxpoolPaddingFormula; |
| | | |
| | | private: |
| | | Timer _timer; |
| | | int _n_yolo_ind = 0; |
| | | }; |
| | | |
| | | #endif |