Table of Contents

Class TensorRtOnnxParser

Namespace
JYPPX.TensorRtSharp
Assembly
JYPPX.TensorRtSharp.dll

Parses ONNX models into a TensorRT network definition. 将 ONNX 模型解析到 TensorRT network definition。

public sealed class TensorRtOnnxParser : IDisposable
Inheritance
TensorRtOnnxParser
Implements
Inherited Members

Constructors

TensorRtOnnxParser(TensorRtLogger, TensorRtNetworkDefinition)

Creates an ONNX parser for the specified TensorRT logger and network. 使用指定的 TensorRT logger 和 network 创建 ONNX parser。

public TensorRtOnnxParser(TensorRtLogger logger, TensorRtNetworkDefinition network)

Parameters

logger TensorRtLogger

The TensorRT logger used by the parser. Parser 使用的 TensorRT logger。

network TensorRtNetworkDefinition

The target TensorRT network definition. 目标 TensorRT network definition。

Properties

ErrorCount

Gets the number of parser errors currently reported by TensorRT. 获取 TensorRT 当前报告的 parser 错误数量。

public int ErrorCount { get; }

Property Value

int

Flags

Gets or sets the ONNX parser flag bitmask. 获取或设置 ONNX parser 标志位掩码。

public TensorRtOnnxParserFlags Flags { get; set; }

Property Value

TensorRtOnnxParserFlags

Line

Gets the TensorRT API line used by this parser. 获取当前 parser 使用的 TensorRT API 版本线。

public TensorRtApiLine Line { get; }

Property Value

TensorRtApiLine

Methods

CheckModelSupport(byte[], string?)

Checks whether TensorRT reports support for the serialized ONNX model. 检查 TensorRT 是否报告支持指定的已序列化 ONNX 模型。

public TensorRtOnnxModelSupportReport CheckModelSupport(byte[] modelData, string? modelPath = null)

Parameters

modelData byte[]

Serialized ONNX model bytes. 已序列化的 ONNX 模型字节。

modelPath string

Optional model path used by TensorRT diagnostics. TensorRT 诊断信息使用的可选模型路径。

Returns

TensorRtOnnxModelSupportReport

A support report containing the full-model result and parser subgraphs. 包含完整模型结果和 parser 子图的支持性报告。

ClearErrors()

Clears parser errors stored by TensorRT. 清理 TensorRT 保存的 parser 错误。

public void ClearErrors()

ClearFlag(TensorRtOnnxParserFlag)

Clears a single ONNX parser flag. 清除单个 ONNX parser 标志。

public void ClearFlag(TensorRtOnnxParserFlag flag)

Parameters

flag TensorRtOnnxParserFlag

The parser flag to clear. 要清除的 parser 标志。

Dispose()

Releases the native ONNX parser handle. 释放原生 ONNX parser 句柄。

public void Dispose()

GetDiagnostic(int)

Gets one detailed parser diagnostic by index. 按索引获取一条详细解析器诊断信息。

public TensorRtOnnxParserDiagnostic GetDiagnostic(int index)

Parameters

index int

Zero-based parser error index. 从零开始的解析器错误索引。

Returns

TensorRtOnnxParserDiagnostic

The detailed parser diagnostic. 详细解析器诊断信息。

Remarks

This path reads variable-length strings from the native bridge and avoids truncating long parser messages. 该路径从原生桥接读取可变长度字符串,可避免长解析错误消息被固定结构体截断。

GetDiagnosticSummary()

Builds a readable parser diagnostic summary for logs and deployment troubleshooting. 为日志和部署排障生成可读的解析器诊断摘要。

public string GetDiagnosticSummary()

Returns

string

A parser diagnostic summary string. 解析器诊断摘要字符串。

GetDiagnostics()

Gets all detailed parser diagnostics currently reported by TensorRT. 获取 TensorRT 当前报告的全部详细解析器诊断信息。

public IReadOnlyList<TensorRtOnnxParserDiagnostic> GetDiagnostics()

Returns

IReadOnlyList<TensorRtOnnxParserDiagnostic>

The detailed parser diagnostics. 详细解析器诊断信息列表。

GetError(int)

Gets one parser error by index. 按索引获取一个 parser 错误。

public TensorRtParserErrorInfo GetError(int index)

Parameters

index int

Zero-based parser error index. 从零开始的 parser 错误索引。

Returns

TensorRtParserErrorInfo

The parser error information. Parser 错误信息。

GetErrorSummary()

Builds a readable parser error summary for logs and diagnostics. 为日志和诊断生成可读的 parser 错误摘要。

public string GetErrorSummary()

Returns

string

A parser error summary string. Parser 错误摘要字符串。

GetErrors()

Gets all parser errors currently reported by TensorRT. 获取 TensorRT 当前报告的全部 parser 错误。

public IReadOnlyList<TensorRtParserErrorInfo> GetErrors()

Returns

IReadOnlyList<TensorRtParserErrorInfo>

The parser error list. Parser 错误列表。

GetFlag(TensorRtOnnxParserFlag)

Gets a single ONNX parser flag. 获取单个 ONNX parser 标志。

public bool GetFlag(TensorRtOnnxParserFlag flag)

Parameters

flag TensorRtOnnxParserFlag

The parser flag to query. 要查询的 parser 标志。

Returns

bool

true when the flag is enabled. 标志启用时返回 true

GetUsedVCPluginLibraries()

Gets VC plugin libraries used by the most recent ONNX parser operation. 获取最近一次 ONNX parser 操作使用的 VC plugin library 列表。

public IReadOnlyList<string> GetUsedVCPluginLibraries()

Returns

IReadOnlyList<string>

Parser-owned library paths copied into managed strings. 已复制到托管字符串中的 parser library 路径。

LayerOutputTensorExists(string, long)

Returns whether a parsed ONNX layer output tensor exists without exposing the native tensor pointer. 判断已解析 ONNX layer 的输出 tensor 是否存在,同时不暴露原生 tensor 指针。

public bool LayerOutputTensorExists(string layerName, long outputIndex = 0)

Parameters

layerName string

The ONNX layer name to query. 要查询的 ONNX layer 名称。

outputIndex long

Zero-based output index. 从零开始的输出索引。

Returns

bool

true when TensorRT returns a non-null tensor pointer. TensorRT 返回非空 tensor 指针时为 true

Parse(byte[], string?)

Parses ONNX model bytes into the target network. 将 ONNX 模型字节解析到目标 network。

public bool Parse(byte[] modelData, string? modelPath = null)

Parameters

modelData byte[]

Serialized ONNX model bytes. 已序列化的 ONNX 模型字节。

modelPath string

Optional model path used by TensorRT diagnostics. TensorRT 诊断信息使用的可选模型路径。

Returns

bool

true when parsing succeeds. 解析成功时返回 true

ParseFromFile(string, int)

Parses an ONNX model from a file path into the target network. 从文件路径解析 ONNX 模型到目标 network。

public bool ParseFromFile(string filePath, int verbosity = 1)

Parameters

filePath string

The ONNX model path. ONNX 模型路径。

verbosity int

TensorRT parser verbosity level. TensorRT parser 日志详细级别。

Returns

bool

true when parsing succeeds. 解析成功时返回 true

SetFlag(TensorRtOnnxParserFlag)

Enables a single ONNX parser flag. 启用单个 ONNX parser 标志。

public void SetFlag(TensorRtOnnxParserFlag flag)

Parameters

flag TensorRtOnnxParserFlag

The parser flag to enable. 要启用的 parser 标志。

SupportsOperator(string)

Returns whether the selected TensorRT parser reports support for an ONNX operator. 返回当前 TensorRT parser 是否报告支持指定 ONNX operator。

public bool SupportsOperator(string operatorName)

Parameters

operatorName string

The ONNX operator name, for example Identity. ONNX operator 名称,例如 Identity

Returns

bool

true when TensorRT reports support for the operator. TensorRT 报告支持该 operator 时返回 true