TensorRT 10.8.0
nvonnxparser::IParser 类参考abstract

一个用于将 ONNX 模型解析为 TensorRT 网络定义的对象 更多...

#include <NvOnnxParser.h>

公共成员函数

virtual bool parse (void const *serialized_onnx_model, size_t serialized_onnx_model_size, const char *model_path=nullptr) noexcept=0
 将序列化的 ONNX 模型解析到 TensorRT 网络中。此方法的诊断能力非常有限。如果由于任何原因(例如,不支持的 IR 版本、不支持的 opset 等)解析序列化模型失败,用户有责任拦截并报告错误。要获得更好的诊断信息,请使用下面的 parseFromFile 方法。更多...
 
virtual bool parseFromFile (const char *onnxModelFile, int verbosity) noexcept=0
 解析 ONNX 模型文件,它可以是二进制 protobuf 或文本 ONNX 模型,内部调用 parse 方法。更多...
 
virtual TRT_DEPRECATED bool supportsModel (void const *serialized_onnx_model, size_t serialized_onnx_model_size, SubGraphCollection_t &sub_graph_collection, const char *model_path=nullptr) noexcept=0
 检查 TensorRT 是否支持特定的 ONNX 模型。如果函数返回 True,则可以继续引擎构建,而无需调用 parseparseFromFile更多...
 
virtual bool parseWithWeightDescriptors (void const *serialized_onnx_model, size_t serialized_onnx_model_size) noexcept=0
 将序列化的 ONNX 模型解析到 TensorRT 网络中,并考虑用户提供的权重。更多...
 
virtual bool supportsOperator (const char *op_name) const noexcept=0
 返回解析器是否可能支持指定的运算符。更多...
 
virtual int getNbErrors () const noexcept=0
 获取先前调用 parse 期间发生的错误数量。更多...
 
virtual IParserError const * getError (int index) const noexcept=0
 获取先前调用 parse 期间发生的错误。更多...
 
virtual void clearErrors () noexcept=0
 清除先前调用 parse 产生的错误。更多...
 
virtual ~IParser () noexcept=default
 
virtual char const *const * getUsedVCPluginLibraries (int64_t &nbPluginLibs) const noexcept=0
 查询版本兼容引擎中解析器使用的操作所需的插件库。更多...
 
virtual void setFlags (OnnxParserFlags onnxParserFlags) noexcept=0
 设置解析器标志。更多...
 
virtual OnnxParserFlags getFlags () const noexcept=0
 获取解析器标志。默认为 0。更多...
 
virtual void clearFlag (OnnxParserFlag onnxParserFlag) noexcept=0
 清除解析器标志。更多...
 
virtual void setFlag (OnnxParserFlag onnxParserFlag) noexcept=0
 设置单个解析器标志。更多...
 
virtual bool getFlag (OnnxParserFlag onnxParserFlag) const noexcept=0
 如果设置了解析器标志,则返回 true。更多...
 
virtual nvinfer1::ITensor const * getLayerOutputTensor (char const *name, int64_t i) noexcept=0
 返回 ONNX 层 “name” 的第 i 个输出 ITensor 对象。更多...
 
virtual bool supportsModelV2 (void const *serializedOnnxModel, size_t serializedOnnxModelSize, char const *modelPath=nullptr) noexcept=0
 检查 TensorRT 是否支持特定的 ONNX 模型。如果函数返回 True,则可以继续引擎构建,而无需调用 parseparseFromFile。结果可以通过 getNbSubgraphsisSubgraphSupportedgetSubgraphNodes 查询。更多...
 
virtual int64_t getNbSubgraphs () noexcept=0
 获取子图的数量。在调用 supportsModelV2 之前调用此函数会导致未定义的行为。更多...
 
virtual bool isSubgraphSupported (int64_t const index) noexcept=0
 返回是否支持子图。在调用 supportsModelV2 之前调用此函数会导致未定义的行为。更多...
 
virtual int64_t * getSubgraphNodes (int64_t const index, int64_t &subgraphLength) noexcept=0
 获取指定子图的节点。在调用 supportsModelV2 之前调用此函数会导致未定义的行为。更多...
 

详细描述

一个用于将 ONNX 模型解析为 TensorRT 网络定义的对象

警告
如果 ONNX 模型具有与图形输入同名的图形输出,则输出将被重命名,并在前面加上“__”。
不要从此类继承,因为这样做会破坏 API 和 ABI 的向前兼容性。

构造函数 & 析构函数文档

◆ ~IParser()

virtual nvonnxparser::IParser::~IParser ( )
virtualdefaultnoexcept

成员函数文档

◆ clearErrors()

virtual void nvonnxparser::IParser::clearErrors ( )
pure virtualnoexcept

清除先前调用 parse 产生的错误。

另请参阅
getNbErrors() getError() IParserError

◆ clearFlag()

virtual void nvonnxparser::IParser::clearFlag ( OnnxParserFlag  onnxParserFlag)
pure virtualnoexcept

清除解析器标志。

从启用的标志中清除解析器标志。

另请参阅
setFlags()

◆ getError()

virtual IParserError const * nvonnxparser::IParser::getError ( int  index) const
pure virtualnoexcept

获取先前调用 parse 期间发生的错误。

另请参阅
getNbErrors() clearErrors() IParserError

◆ getFlag()

virtual bool nvonnxparser::IParser::getFlag ( OnnxParserFlag  onnxParserFlag) const
pure virtualnoexcept

如果设置了解析器标志,则返回 true。

另请参阅
getFlags()
返回值
如果标志已设置,则为 True,如果未设置,则为 false。

◆ getFlags()

virtual OnnxParserFlags nvonnxparser::IParser::getFlags ( ) const
pure virtualnoexcept

获取解析器标志。默认为 0。

返回值
作为位掩码的解析器标志。
另请参阅
setFlags()

◆ getLayerOutputTensor()

virtual nvinfer1::ITensor const * nvonnxparser::IParser::getLayerOutputTensor ( char const *  name,
int64_t  i 
)
pure virtualnoexcept

返回 ONNX 层 “name” 的第 i 个输出 ITensor 对象。

返回 ONNX 层 “name” 的第 i 个输出 ITensor 对象。如果找不到 “name” 或 i 超出范围,则返回 nullptr。如果多个节点共享相同的名称,则此函数将返回 ONNX 图中第一个节点实例的输出张量。

参数
nameONNX 层的名称。
i输出的索引。i 必须在范围 [0, layer.num_outputs) 内。

◆ getNbErrors()

virtual int nvonnxparser::IParser::getNbErrors ( ) const
pure virtualnoexcept

获取先前调用 parse 期间发生的错误数量。

另请参阅
getError() clearErrors() IParserError

◆ getNbSubgraphs()

virtual int64_t nvonnxparser::IParser::getNbSubgraphs ( )
pure virtualnoexcept

获取子图的数量。在调用 supportsModelV2 之前调用此函数会导致未定义的行为。

返回值
子图的数量。

◆ getSubgraphNodes()

virtual int64_t * nvonnxparser::IParser::getSubgraphNodes ( int64_t const  index,
int64_t &  subgraphLength 
)
pure virtualnoexcept

获取指定子图的节点。在调用 supportsModelV2 之前调用此函数会导致未定义的行为。

参数
index子图的索引。
subgraphLength以引用的形式返回子图的长度。
返回值
指向子图节点数组的指针。此指针由解析器拥有。

◆ getUsedVCPluginLibraries()

virtual char const *const * nvonnxparser::IParser::getUsedVCPluginLibraries ( int64_t &  nbPluginLibs) const
pure virtualnoexcept

查询版本兼容引擎中解析器使用的操作所需的插件库。

这提供了文件系统上插件库的列表,这些插件库是实现已解析网络中操作所必需的。如果您正在使用此网络构建版本兼容引擎,请将此列表提供给 IBuilderConfig::setPluginsToSerialize 以将这些插件与版本兼容引擎一起序列化,或者,如果您想将这些插件库在引擎外部发布,请确保在反序列化相应的引擎之前,使用 IPluginRegistry::loadLibrary 加载这些库。

参数
[out]nbPluginLibs返回数组中插件库的数量,如果发生错误,则返回 -1。
返回值
nbPluginLibs C 字符串数组,描述文件系统上的插件库路径(如果 nbPluginLibs > 0),否则为 nullptr。此数组由 IParser 拥有,并且数组中的指针仅在下次调用 parse()supportsModel()parseFromFile()parseWithWeightDescriptors() 之前有效。

◆ isSubgraphSupported()

virtual bool nvonnxparser::IParser::isSubgraphSupported ( int64_t const  index)
pure virtualnoexcept

返回是否支持子图。在调用 supportsModelV2 之前调用此函数会导致未定义的行为。

参数
index子图的索引。
返回值
子图是否受支持。

◆ parse()

virtual bool nvonnxparser::IParser::parse ( void const *  serialized_onnx_model,
size_t  serialized_onnx_model_size,
const char *  model_path = nullptr 
)
pure virtualnoexcept

将序列化的 ONNX 模型解析到 TensorRT 网络中。此方法的诊断能力非常有限。如果由于任何原因(例如,不支持的 IR 版本、不支持的 opset 等)解析序列化模型失败,用户有责任拦截并报告错误。要获得更好的诊断信息,请使用下面的 parseFromFile 方法。

参数
serialized_onnx_model指向序列化的 ONNX 模型的指针
serialized_onnx_model_size序列化的 ONNX 模型的大小(以字节为单位)
model_path模型文件的绝对路径,用于在需要时加载外部权重
返回值
如果模型解析成功,则为 true
另请参阅
getNbErrors() getError()

◆ parseFromFile()

virtual bool nvonnxparser::IParser::parseFromFile ( const char *  onnxModelFile,
int  verbosity 
)
pure virtualnoexcept

解析 ONNX 模型文件,它可以是二进制 protobuf 或文本 ONNX 模型,内部调用 parse 方法。

参数
onnxModelFilename
verbosity级别
返回值
如果模型解析成功,则为 true

◆ parseWithWeightDescriptors()

virtual bool nvonnxparser::IParser::parseWithWeightDescriptors ( void const *  serialized_onnx_model,
size_t  serialized_onnx_model_size 
)
pure virtualnoexcept

将序列化的 ONNX 模型解析到 TensorRT 网络中,并考虑用户提供的权重。

参数
serialized_onnx_model指向序列化的 ONNX 模型的指针
serialized_onnx_model_size序列化的 ONNX 模型的大小(以字节为单位)
返回值
如果模型解析成功,则为 true
另请参阅
getNbErrors() getError()

◆ setFlag()

virtual void nvonnxparser::IParser::setFlag ( OnnxParserFlag  onnxParserFlag)
pure virtualnoexcept

设置单个解析器标志。

将输入的解析器标志添加到已启用的标志中。

另请参阅
setFlags()

◆ setFlags()

virtual void nvonnxparser::IParser::setFlags ( OnnxParserFlags  onnxParserFlags)
pure virtualnoexcept

设置解析器标志。

标志在 OnnxParserFlag 枚举中列出。

参数
OnnxParserFlag解析 ONNX 模型时使用的标志。
注意
此函数将覆盖先前设置的标志,而不是按位 OR 运算新标志。
另请参阅
getFlags()

◆ supportsModel()

virtual TRT_DEPRECATED bool nvonnxparser::IParser::supportsModel ( void const *  serialized_onnx_model,
size_t  serialized_onnx_model_size,
SubGraphCollection_t sub_graph_collection,
const char *  model_path = nullptr 
)
pure virtualnoexcept

检查 TensorRT 是否支持特定的 ONNX 模型。如果函数返回 True,则可以继续引擎构建,而无需调用 parseparseFromFile

[已弃用] 在 TensorRT 10.1 中已弃用。请参阅 supportsModelV2。

参数
serialized_onnx_model指向序列化的 ONNX 模型的指针
serialized_onnx_model_size序列化的 ONNX 模型的大小(以字节为单位)
sub_graph_collection用于保存受支持子图的容器
model_path模型文件的绝对路径,用于在需要时加载外部权重
返回值
如果模型受支持,则为 true

◆ supportsModelV2()

virtual bool nvonnxparser::IParser::supportsModelV2 ( void const *  serializedOnnxModel,
size_t  serializedOnnxModelSize,
char const *  modelPath = nullptr 
)
pure virtualnoexcept

检查 TensorRT 是否支持特定的 ONNX 模型。如果函数返回 True,则可以继续引擎构建,而无需调用 parseparseFromFile。结果可以通过 getNbSubgraphsisSubgraphSupportedgetSubgraphNodes 查询。

参数
serializedOnnxModel指向序列化的 ONNX 模型的指针
serializedOnnxModelSize序列化的 ONNX 模型的大小(以字节为单位)
modelPath模型文件的绝对路径,用于在需要时加载外部权重
返回值
如果模型受支持,则为 true

◆ supportsOperator()

virtual bool nvonnxparser::IParser::supportsOperator ( const char *  op_name) const
pure virtualnoexcept

返回解析器是否可能支持指定的运算符。

请注意,结果为 true 并不能保证在所有情况下都支持该运算符(即,此函数可能会返回误报)。

参数
op_name要检查是否支持的 ONNX 运算符的名称

此类文档从以下文件生成

  版权所有 © 2024 NVIDIA Corporation
  隐私政策 | 管理我的隐私 | 请勿出售或分享我的数据 | 服务条款 | 无障碍功能 | 公司政策 | 产品安全 | 联系方式