Onnx-tensorrt工程提供了所有onnx builtin layer向trtmodel转换的parser代码。
Onnx-tensorrt工程链接: https://github.com/onnx/onnx-tensorrt
一、nvonnxparser库概览
nvonnxparser库的核心代码文件如下:
set(IMPORTER_SOURCES
NvOnnxParser.cpp
ModelImporter.cpp
builtin_op_importers.cpp
onnx2trt_utils.cpp
ShapedWeights.cpp
OnnxAttrs.cpp
) //见CMakeLists.txt文件
最终,这些代码被编译成动态链接库nvonnxparser.so和静态链接库nvonnxparser_static.a 。
add_library(nvonnxparser SHARED ${IMPORTER_SOURCES})
target_link_libraries(nvonnxparser PUBLIC onnx_proto nvonnxparser_plugin ${PROTOBUF_LIBRARY}
add_library(nvonnxparser_static STATIC ${IMPORTER_SOURCES})
target_link_libraries(nvonnxparser_static PUBLIC onnx_proto nvonnxparser_plugin ${PROTOBUF_LIBRARY} ${CUDNN_LIBRARY} ${TENSORRT_LIBRARY})
===