Onnx Parser

class tensorrt.OnnxParser(self: tensorrt.tensorrt.OnnxParser, network: tensorrt.tensorrt.INetworkDefinition, logger: tensorrt.tensorrt.ILogger) None

This class is used for parsing ONNX models into a TensorRT network definition

Variables

num_errorsint The number of errors that occurred during prior calls to parse()

Parameters
  • network – The network definition to which the parser will write.

  • logger – The logger to use.

__del__(self: tensorrt.tensorrt.OnnxParser) None
__exit__(exc_type, exc_value, traceback)

Context managers are deprecated and have no effect. Objects are automatically freed when the reference count reaches 0.

__init__(self: tensorrt.tensorrt.OnnxParser, network: tensorrt.tensorrt.INetworkDefinition, logger: tensorrt.tensorrt.ILogger) None
Parameters
  • network – The network definition to which the parser will write.

  • logger – The logger to use.

clear_errors(self: tensorrt.tensorrt.OnnxParser) None

Clear errors from prior calls to parse()

clear_flag(self: tensorrt.tensorrt.OnnxParser, flag: nvonnxparser::OnnxParserFlag) None

Clears the parser flag from the enabled flags.

Parameters

flag – The flag to clear.

get_error(self: tensorrt.tensorrt.OnnxParser, index: int) nvonnxparser::IParserError

Get an error that occurred during prior calls to parse()

Parameters

index – Index of the error

get_flag(self: tensorrt.tensorrt.OnnxParser, flag: nvonnxparser::OnnxParserFlag) bool

Check if a build mode flag is set.

Parameters

flag – The flag to check.

Returns

A bool indicating whether the flag is set.

get_layer_output_tensor(self: tensorrt.tensorrt.OnnxParser, name: str, i: int) tensorrt.tensorrt.ITensor

Get the i-th output ITensor object for the ONNX layer “name”.

In the case of multiple nodes sharing the same name this function will return the output tensors of the first instance of the node in the ONNX graph.

arg name

The name of the ONNX layer.

arg i

The index of the output.

returns

The output tensor or None if the layer was not found or an invalid index was provided.

get_used_vc_plugin_libraries(self: tensorrt.tensorrt.OnnxParser) List[str]

Query the plugin libraries needed to implement operations used by the parser in a version-compatible engine.

This provides a list of plugin libraries on the filesystem needed to implement operations in the parsed network. If you are building a version-compatible engine using this network, provide this list to IBuilderConfig.set_plugins_to_serialize() to serialize these plugins along with the version-compatible engine, or, if you want to ship these plugin libraries externally to the engine, ensure that IPluginRegistry.load_library() is used to load these libraries in the appropriate runtime before deserializing the corresponding engine.

Returns

List[str] List of plugin libraries found by the parser.

Raises

RuntimeError if an internal error occurred when trying to fetch the list of plugin libraries.

parse(self: tensorrt.tensorrt.OnnxParser, model: buffer, path: str = None) bool

Parse a serialized ONNX model into the TensorRT network.

Parameters
  • model – The serialized ONNX model.

  • path – The path to the model file. Only required if the model has externally stored weights.

Returns

true if the model was parsed successfully

parse_from_file(self: tensorrt.tensorrt.OnnxParser, model: str) bool

Parse an ONNX model from file into a TensorRT network.

Parameters

model – The path to an ONNX model.

Returns

true if the model was parsed successfully

parse_with_weight_descriptors(self: tensorrt.tensorrt.OnnxParser, model: buffer) bool

Parse a serialized ONNX model into the TensorRT network with consideration of user provided weights.

Parameters

model – The serialized ONNX model.

Returns

true if the model was parsed successfully

set_flag(self: tensorrt.tensorrt.OnnxParser, flag: nvonnxparser::OnnxParserFlag) None

Add the input parser flag to the already enabled flags.

Parameters

flag – The flag to set.

supports_model(self: tensorrt.tensorrt.OnnxParser, model: buffer, path: str = None) Tuple[bool, List[Tuple[List[int], bool]]]

Check whether TensorRT supports a particular ONNX model.

Parameters
  • model – The serialized ONNX model.

  • path – The path to the model file. Only required if the model has externally stored weights.

Returns

Tuple[bool, List[Tuple[NodeIndices, bool]]] The first element of the tuple indicates whether the model is supported. The second indicates subgraphs (by node index) in the model and whether they are supported.

supports_operator(self: tensorrt.tensorrt.OnnxParser, op_name: str) bool

Returns whether the specified operator may be supported by the parser. Note that a result of true does not guarantee that the operator will be supported in all cases (i.e., this function may return false-positives).

Parameters

op_name – The name of the ONNX operator to check for support

tensorrt.ErrorCode

The type of parser error

Members:

SUCCESS

INTERNAL_ERROR

MEM_ALLOC_FAILED

MODEL_DESERIALIZE_FAILED

INVALID_VALUE

INVALID_GRAPH

INVALID_NODE

UNSUPPORTED_GRAPH

UNSUPPORTED_NODE

UNSUPPORTED_NODE_ATTR

UNSUPPORTED_NODE_INPUT

UNSUPPORTED_NODE_DATATYPE

UNSUPPORTED_NODE_DYNAMIC

UNSUPPORTED_NODE_SHAPE

REFIT_FAILED

class tensorrt.ParserError
code(self: tensorrt.tensorrt.ParserError) tensorrt.tensorrt.ErrorCode
Returns

The error code

desc(self: tensorrt.tensorrt.ParserError) str
Returns

Description of the error

file(self: tensorrt.tensorrt.ParserError) str
Returns

Source file in which the error occurred

func(self: tensorrt.tensorrt.ParserError) str
Returns

Source function in which the error occurred

line(self: tensorrt.tensorrt.ParserError) int
Returns

Source line at which the error occurred

local_function_stack(self: tensorrt.tensorrt.ParserError) List[str]
Returns

Current stack trace of local functions in which the error occurred

local_function_stack_size(self: tensorrt.tensorrt.ParserError) int
Returns

Size of the current stack trace of local functions in which the error occurred

node(self: tensorrt.tensorrt.ParserError) int
Returns

Index of the Onnx model node in which the error occurred

node_name(self: tensorrt.tensorrt.ParserError) str
Returns

Name of the node in the model in which the error occurred

node_operator(self: tensorrt.tensorrt.ParserError) str
Returns

Name of the node operation in the model in which the error occurred