加载器
模块: polygraphy.backend.trt
- class LoadPlugins(plugins=None, obj=None)[source]
基类:
BaseLoader
一个直通加载器,用于从指定路径加载插件。直通在这里意味着它可以用于包装任何其他加载器。包装另一个加载器的目的是,您可以控制延迟评估时的执行顺序。
对于立即评估,请使用 load_plugins 代替
load_plugins(plugins=["/path/to/my/plugin.so", "/path/to/my/other_plugin.so"])
从指定路径加载插件。
- 参数:
plugins (List[str]) – 在推理之前要加载的插件库的路径列表。
obj – 要返回的对象或可调用对象。如果
obj
是可调用的,则额外的参数将转发到obj
。如果obj
不可调用,则将返回它。
- call_impl(*args, **kwargs)[source]
- 返回:
提供的
obj
参数,如果它是可调用的,则返回其返回值。如果未设置obj
,则返回None
。- 返回类型:
object
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- load_plugins(plugins=None, obj=None, *args, **kwargs)
LoadPlugins
的立即评估的功能变体。从指定路径加载插件。
- 参数:
plugins (List[str]) – 在推理之前要加载的插件库的路径列表。
obj – 要返回的对象或可调用对象。如果
obj
是可调用的,则额外的参数将转发到obj
。如果obj
不可调用,则将返回它。
- 返回:
提供的
obj
参数,如果它是可调用的,则返回其返回值。如果未设置obj
,则返回None
。- 返回类型:
object
- class CreateNetwork(explicit_batch=None, strongly_typed=None)[source]
基类:
BaseLoader
创建空 TensorRT 网络的函子。
创建空的 TensorRT 网络。
- 参数:
explicit_batch (bool) – 是否使用显式批处理模式创建网络。默认为 True。
strongly_typed (bool) – 是否将网络标记为强类型。默认为 False。
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- create_network(explicit_batch=None, strongly_typed=None)
CreateNetwork
的立即评估的功能变体。创建空的 TensorRT 网络。
- 参数:
explicit_batch (bool) – 是否使用显式批处理模式创建网络。默认为 True。
strongly_typed (bool) – 是否将网络标记为强类型。默认为 False。
- 返回:
构建器和空网络。
- 返回类型:
(trt.Builder, trt.INetworkDefinition)
- class NetworkFromOnnxBytes(model_bytes, flags=None, plugin_instancenorm=None, strongly_typed=None)[source]
基类:
BaseNetworkFromOnnx
解析 ONNX 模型以创建 trt.INetworkDefinition 的函子。
解析 ONNX 模型。
- 参数:
model_bytes (Union[bytes, Callable() -> bytes]) – 序列化的 ONNX 模型或返回该模型的 callable 对象。
flags (List[trt.OnnxParserFlag]) –
OnnxParserFlag
列表,用于修改 ONNX 解析器的默认解析行为。默认为 None。plugin_instancenorm (bool) – 是否通过清除解析器中的 NATIVE_INSTANCENORM 标志来强制使用 ONNX InstanceNorm 的插件实现。默认为 False
strongly_typed (bool) – 是否将网络标记为强类型。默认为 False。
- call_impl()[source]
- 返回:
TensorRT 网络,以及用于创建它的构建器和用于填充它的解析器。
- 返回类型:
(trt.IBuilder, trt.INetworkDefinition, trt.OnnxParser)
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- network_from_onnx_bytes(model_bytes, flags=None, plugin_instancenorm=None, strongly_typed=None)
NetworkFromOnnxBytes
的立即评估的功能变体。解析 ONNX 模型。
- 参数:
model_bytes (Union[bytes, Callable() -> bytes]) – 序列化的 ONNX 模型或返回该模型的 callable 对象。
flags (List[trt.OnnxParserFlag]) –
OnnxParserFlag
列表,用于修改 ONNX 解析器的默认解析行为。默认为 None。plugin_instancenorm (bool) – 是否通过清除解析器中的 NATIVE_INSTANCENORM 标志来强制使用 ONNX InstanceNorm 的插件实现。默认为 False
strongly_typed (bool) – 是否将网络标记为强类型。默认为 False。
- 返回:
TensorRT 网络,以及用于创建它的构建器和用于填充它的解析器。
- 返回类型:
(trt.IBuilder, trt.INetworkDefinition, trt.OnnxParser)
- class NetworkFromOnnxPath(path, flags=None, plugin_instancenorm=None, strongly_typed=None)[source]
基类:
BaseNetworkFromOnnx
解析 ONNX 模型以创建 trt.INetworkDefinition 的函子。此加载器支持权重存储在外部位置的模型。
从文件解析 ONNX 模型。
- 参数:
path (str) – 从中加载模型的路径。
flags (List[trt.OnnxParserFlag]) –
OnnxParserFlag
列表,用于修改 ONNX 解析器的默认解析行为。默认为 None。plugin_instancenorm (bool) – 是否通过清除解析器中的 NATIVE_INSTANCENORM 标志来强制使用 ONNX InstanceNorm 的插件实现。默认为 False
strongly_typed (bool) – 是否将网络标记为强类型。默认为 False。
- call_impl()[source]
- 返回:
TensorRT 网络,以及用于创建它的构建器和用于填充它的解析器。
- 返回类型:
(trt.IBuilder, trt.INetworkDefinition, trt.OnnxParser)
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- network_from_onnx_path(path, flags=None, plugin_instancenorm=None, strongly_typed=None)
NetworkFromOnnxPath
的立即评估的功能变体。从文件解析 ONNX 模型。
- 参数:
path (str) – 从中加载模型的路径。
flags (List[trt.OnnxParserFlag]) –
OnnxParserFlag
列表,用于修改 ONNX 解析器的默认解析行为。默认为 None。plugin_instancenorm (bool) – 是否通过清除解析器中的 NATIVE_INSTANCENORM 标志来强制使用 ONNX InstanceNorm 的插件实现。默认为 False
strongly_typed (bool) – 是否将网络标记为强类型。默认为 False。
- 返回:
TensorRT 网络,以及用于创建它的构建器和用于填充它的解析器。
- 返回类型:
(trt.IBuilder, trt.INetworkDefinition, trt.OnnxParser)
- class PostprocessNetwork(network, func, name=None)[source]
基类:
BaseLoader
[实验性] 将给定的后处理函数应用于 TensorRT
INetworkDefinition
的函子。将给定的后处理函数应用于 TensorRT
INetworkDefinition
。- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
func (Callable[[trt.INetworkDefinition], None]) – 接受名为 network 参数的 callable 对象。PostprocessNetwork 将通过此参数传入已解析的网络,然后 callable 对象可以对其进行修改。
name (Optional[str]) – 此后处理步骤的名称,用于日志记录目的。
- call_impl()[source]
- 返回:
修改后的网络以及构建器和解析器(如果提供)。
- 返回类型:
Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- postprocess_network(network, func, name=None)
PostprocessNetwork
的立即评估的功能变体。将给定的后处理函数应用于 TensorRT
INetworkDefinition
。- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
func (Callable[[trt.INetworkDefinition], None]) – 接受名为 network 参数的 callable 对象。PostprocessNetwork 将通过此参数传入已解析的网络,然后 callable 对象可以对其进行修改。
name (Optional[str]) – 此后处理步骤的名称,用于日志记录目的。
- 返回:
修改后的网络以及构建器和解析器(如果提供)。
- 返回类型:
Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]
- class ModifyNetworkOutputs(network, outputs=None, exclude_outputs=None)[source]
-
修改 TensorRT
INetworkDefinition
中的输出的函子。修改 TensorRT
INetworkDefinition
中的输出。- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
outputs (Sequence[str]) – 要标记为输出的张量的名称。如果提供,这将覆盖网络中已标记的输出。如果使用 constants.MARK_ALL 值而不是列表,则网络中的所有张量都将被标记。
exclude_outputs (Sequence[str]) – 要排除作为输出的张量的名称。这与
outputs=constants.MARK_ALL
结合使用以省略输出时非常有用。
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- call_impl()
- 返回:
修改后的网络以及构建器和解析器(如果提供)。
- 返回类型:
Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]
- modify_network_outputs(network, outputs=None, exclude_outputs=None)
ModifyNetworkOutputs
的立即评估的功能变体。修改 TensorRT
INetworkDefinition
中的输出。- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
outputs (Sequence[str]) – 要标记为输出的张量的名称。如果提供,这将覆盖网络中已标记的输出。如果使用 constants.MARK_ALL 值而不是列表,则网络中的所有张量都将被标记。
exclude_outputs (Sequence[str]) – 要排除作为输出的张量的名称。这与
outputs=constants.MARK_ALL
结合使用以省略输出时非常有用。
- 返回:
修改后的网络以及构建器和解析器(如果提供)。
- 返回类型:
Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]
- class SetLayerPrecisions(network, layer_precisions)[source]
-
在 TensorRT
INetworkDefinition
中设置层精度的函子。在 TensorRT
INetworkDefinition
中设置层精度。- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
layer_precisions (Dict[str, trt.DataType]) – 层名称到其所需计算精度的映射。
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- call_impl()
- 返回:
修改后的网络以及构建器和解析器(如果提供)。
- 返回类型:
Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]
- set_layer_precisions(network, layer_precisions)
SetLayerPrecisions
的立即评估的功能变体。在 TensorRT
INetworkDefinition
中设置层精度。- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
layer_precisions (Dict[str, trt.DataType]) – 层名称到其所需计算精度的映射。
- 返回:
修改后的网络以及构建器和解析器(如果提供)。
- 返回类型:
Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]
- class SetTensorDatatypes(network, tensor_datatypes)[source]
-
在 TensorRT
INetworkDefinition
中为网络 I/O 张量设置张量数据类型的函子。在 TensorRT
INetworkDefinition
中设置网络 I/O 张量数据类型。- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
tensor_datatypes (Dict[str, trt.DataType]) – 张量名称到其所需数据类型的映射。
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- call_impl()
- 返回:
修改后的网络以及构建器和解析器(如果提供)。
- 返回类型:
Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]
- set_tensor_datatypes(network, tensor_datatypes)
SetTensorDatatypes
的立即评估的功能变体。在 TensorRT
INetworkDefinition
中设置网络 I/O 张量数据类型。- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
tensor_datatypes (Dict[str, trt.DataType]) – 张量名称到其所需数据类型的映射。
- 返回:
修改后的网络以及构建器和解析器(如果提供)。
- 返回类型:
Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]
- class SetTensorFormats(network, tensor_formats)[source]
-
在 TensorRT
INetworkDefinition
中设置网络 I/O 张量格式的函子。在 TensorRT
INetworkDefinition
中设置网络 I/O 张量格式。- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
tensor_formats (Dict[str, List[trt.TensorFormat]]) – 张量名称到其允许格式的映射。
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- call_impl()
- 返回:
修改后的网络以及构建器和解析器(如果提供)。
- 返回类型:
Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]
- set_tensor_formats(network, tensor_formats)
SetTensorFormats
的立即评估的功能变体。在 TensorRT
INetworkDefinition
中设置网络 I/O 张量格式。- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
tensor_formats (Dict[str, List[trt.TensorFormat]]) – 张量名称到其允许格式的映射。
- 返回:
修改后的网络以及构建器和解析器(如果提供)。
- 返回类型:
Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]
- class LoadRuntime(path)[source]
基类:
BaseLoader
加载 TensorRT
IRuntime
的函子。加载 TensorRT
IRuntime
。加载的运行时可以用于执行排除精简运行时的版本兼容引擎。
- 参数:
path (str) – 要从中加载运行时的共享库的路径。
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- load_runtime(path)
LoadRuntime
的立即评估的功能变体。加载 TensorRT
IRuntime
。加载的运行时可以用于执行排除精简运行时的版本兼容引擎。
- 参数:
path (str) – 要从中加载运行时的共享库的路径。
- 返回:
加载的运行时。
- 返回类型:
trt.Runtime
- class EngineBytesFromNetwork(network, config=None, save_timing_cache=None)[source]
基类:
BaseLoader
使用 TensorRT
INetworkDefinition
构建序列化引擎的函子。构建并序列化 TensorRT 引擎。
- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
config (Callable(trt.Builder, trt.INetworkDefinition) -> trt.IBuilderConfig) – TensorRT 构建器配置或返回该配置的 callable 对象。如果未提供,则使用具有默认参数的 CreateConfig 实例。
save_timing_cache (Union[str, file-like]) – 用于保存策略计时缓存的路径或类文件对象。任何现有的缓存都将被追加到其中。如果提供了路径,则该文件将被锁定以进行独占访问,以防止多个进程同时尝试更新计时缓存。
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- engine_bytes_from_network(network, config=None, save_timing_cache=None)
EngineBytesFromNetwork
的立即评估的功能变体。构建并序列化 TensorRT 引擎。
- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
config (Callable(trt.Builder, trt.INetworkDefinition) -> trt.IBuilderConfig) – TensorRT 构建器配置或返回该配置的 callable 对象。如果未提供,则使用具有默认参数的 CreateConfig 实例。
save_timing_cache (Union[str, file-like]) – 用于保存策略计时缓存的路径或类文件对象。任何现有的缓存都将被追加到其中。如果提供了路径,则该文件将被锁定以进行独占访问,以防止多个进程同时尝试更新计时缓存。
- 返回:
创建的序列化引擎。
- 返回类型:
bytes
- class EngineFromNetwork(network, config=None, save_timing_cache=None, runtime=None)[source]
-
类似于 EngineBytesFromNetwork 的函子,但在返回之前反序列化引擎。
构建 TensorRT 序列化引擎,然后将其反序列化。
- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
config (Callable(trt.Builder, trt.INetworkDefinition) -> trt.IBuilderConfig) – TensorRT 构建器配置或返回该配置的 callable 对象。如果未提供,则使用具有默认参数的 CreateConfig 实例。
save_timing_cache (Union[str, file-like]) – 用于保存策略计时缓存的路径或类文件对象。任何现有的缓存都将被追加到其中。如果提供了路径,则该文件将被锁定以进行独占访问,以防止多个进程同时尝试更新计时缓存。
runtime (Union[trt.Runtime, Callable() -> trt.Runtime]) – 反序列化引擎时使用的 runtime,或返回 runtime 的可调用对象。如果未提供 runtime,则将创建一个。
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- engine_from_network(network, config=None, save_timing_cache=None, runtime=None)
EngineFromNetwork
的立即求值函数式变体。构建 TensorRT 序列化引擎,然后将其反序列化。
- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
config (Callable(trt.Builder, trt.INetworkDefinition) -> trt.IBuilderConfig) – TensorRT 构建器配置或返回该配置的 callable 对象。如果未提供,则使用具有默认参数的 CreateConfig 实例。
save_timing_cache (Union[str, file-like]) – 用于保存策略计时缓存的路径或类文件对象。任何现有的缓存都将被追加到其中。如果提供了路径,则该文件将被锁定以进行独占访问,以防止多个进程同时尝试更新计时缓存。
runtime (Union[trt.Runtime, Callable() -> trt.Runtime]) – 反序列化引擎时使用的 runtime,或返回 runtime 的可调用对象。如果未提供 runtime,则将创建一个。
- 返回:
已创建的引擎。
- 返回类型:
trt.ICudaEngine
- class EngineFromBytes(serialized_engine, runtime=None)[source]
基类:
BaseLoader
从缓冲区反序列化引擎的 Functor。
从缓冲区反序列化引擎。
- 参数:
serialized_engine (Union[Union[str, bytes], Callable() -> Union[str, bytes]]) – 序列化引擎字节或返回它们的的可调用对象。
runtime (Union[trt.Runtime, Callable() -> trt.Runtime]) – 反序列化引擎时使用的 runtime,或返回 runtime 的可调用对象。如果未提供 runtime,则将创建一个。
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- engine_from_bytes(serialized_engine, runtime=None)
EngineFromBytes
的立即求值函数式变体。从缓冲区反序列化引擎。
- 参数:
serialized_engine (Union[Union[str, bytes], Callable() -> Union[str, bytes]]) – 序列化引擎字节或返回它们的的可调用对象。
runtime (Union[trt.Runtime, Callable() -> trt.Runtime]) – 反序列化引擎时使用的 runtime,或返回 runtime 的可调用对象。如果未提供 runtime,则将创建一个。
- 返回:
反序列化的引擎。
- 返回类型:
trt.ICudaEngine
- class EngineFromPath(path: str, runtime=None)[source]
基类:
BaseLoader
从路径反序列化引擎的 Functor。
从路径反序列化引擎。
- 参数:
path (Union[str, Callable() -> str]) – 序列化引擎的文件路径或返回该路径的可调用对象。
runtime (Union[trt.Runtime, Callable() -> trt.Runtime]) – 反序列化引擎时使用的 runtime,或返回 runtime 的可调用对象。如果未提供 runtime,则将创建一个。
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- engine_from_path(path, runtime=None)
EngineFromPath
的立即求值函数式变体。从路径反序列化引擎。
- 参数:
path (Union[str, Callable() -> str]) – 序列化引擎的文件路径或返回该路径的可调用对象。
runtime (Union[trt.Runtime, Callable() -> trt.Runtime]) – 反序列化引擎时使用的 runtime,或返回 runtime 的可调用对象。如果未提供 runtime,则将创建一个。
- 返回:
反序列化的引擎。
- 返回类型:
trt.ICudaEngine
- class BytesFromEngine(engine)[source]
基类:
BaseLoader
将引擎序列化为字节的 Functor。
返回的字节复制了序列化引擎的内存。使用 BufferFromEngine 直接引用内存。
将引擎序列化为字节。
- 参数:
engine (Union[trt.ICudaEngine, Callable() -> trt.ICudaEngine]) – 引擎或返回引擎的可调用对象。
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- bytes_from_engine(engine)
BytesFromEngine
的立即求值函数式变体。将引擎序列化为字节。
- 参数:
engine (Union[trt.ICudaEngine, Callable() -> trt.ICudaEngine]) – 引擎或返回引擎的可调用对象。
- 返回:
序列化引擎复制到字节。
- 返回类型:
bytes
- class BufferFromEngine(engine: ICudaEngine | Callable[[], ICudaEngine])[source]
基类:
BaseLoader
将引擎序列化为缓冲区的 Functor。
返回的缓冲区直接引用序列化引擎的内存,并且不复制它。
将引擎序列化为 memoryview。
- 参数:
engine (Union[trt.ICudaEngine, Callable() -> trt.ICudaEngine]) – 引擎或返回引擎的可调用对象。
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- buffer_from_engine(engine)
BufferFromEngine
的立即求值函数式变体。将引擎序列化为 memoryview。
- 参数:
engine (Union[trt.ICudaEngine, Callable() -> trt.ICudaEngine]) – 引擎或返回引擎的可调用对象。
- 返回:
序列化引擎作为缓冲区。
- 返回类型:
IHostMemory
- class SaveEngine(engine, path)[source]
基类:
BaseLoader
将引擎保存到指定路径的 Functor。
将引擎保存到指定路径。
- 参数:
engine (Union[trt.ICudaEngine, Callable() -> trt.ICudaEngine]) – 引擎或返回引擎的可调用对象。
path (str) – 保存引擎的路径。
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- save_engine(engine, path)
SaveEngine
的立即求值函数式变体。将引擎保存到指定路径。
- 参数:
engine (Union[trt.ICudaEngine, Callable() -> trt.ICudaEngine]) – 引擎或返回引擎的可调用对象。
path (str) – 保存引擎的路径。
- 返回:
已保存的引擎。
- 返回类型:
trt.ICudaEngine
- class OnnxLikeFromNetwork(network)[source]
基类:
BaseLoader
基于 TensorRT 网络创建类似 ONNX 但不是有效 ONNX 模型的 Functor。
[高度实验性] 从 TensorRT 网络创建类似 ONNX 但不是有效 ONNX 的模型。这使用 ONNX 格式,但生成的节点不是有效的 ONNX 运算符。因此,这应仅用于可视化或调试目的。
生成的模型不包含足够的信息来忠实地重建 TensorRT 网络,但确实保留了网络的结构和许多层参数。
- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- onnx_like_from_network(network)
OnnxLikeFromNetwork
的立即求值函数式变体。[高度实验性] 从 TensorRT 网络创建类似 ONNX 但不是有效 ONNX 的模型。这使用 ONNX 格式,但生成的节点不是有效的 ONNX 运算符。因此,这应仅用于可视化或调试目的。
生成的模型不包含足够的信息来忠实地重建 TensorRT 网络,但确实保留了网络的结构和许多层参数。
- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
- 返回:
TensorRT 网络的类似 ONNX 但不是有效 ONNX 的表示。
- 返回类型:
onnx.ModelProto
- class MarkDebug(network, mark_debug)[source]
-
在 TensorRT
INetworkDefinition
中将 tensors 标记为 debug tensors 的 Functor。在 TensorRT
INetworkDefinition
中将 tensors 标记为 debug tensors。- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
mark_debug (List[str]) – 要标记为 debug tensors 的 tensor 名称列表。
- __call__(*args, **kwargs)
通过将参数转发到
call_impl
来调用加载器。注意:
call_impl
不应直接调用 - 请改用此函数。
- call_impl()
- 返回:
修改后的网络以及构建器和解析器(如果提供)。
- 返回类型:
Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]
- mark_debug(network, mark_debug)
MarkDebug
的立即求值函数式变体。在 TensorRT
INetworkDefinition
中将 tensors 标记为 debug tensors。- 参数:
network (Union[Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]], Callable() -> Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]) – 包含 TensorRT 构建器、网络和可选解析器的元组,或返回该元组的 callable 对象。要省略解析器,请返回仅包含构建器和网络的元组。
mark_debug (List[str]) – 要标记为 debug tensors 的 tensor 名称列表。
- 返回:
修改后的网络以及构建器和解析器(如果提供)。
- 返回类型:
Tuple[trt.Builder, trt.INetworkDefinition, Optional[parser]]