运行时

tensorrt.TempfileControlFlag

用于控制 TensorRT 在创建可执行临时文件时的行为的标志。

在某些平台上,TensorRT 运行时可能需要在临时目录中创建文件,或使用特定于平台的 API 在内存中创建文件,以加载实现运行时代码的临时 DLL。这些标志允许应用程序显式控制 TensorRT 对这些文件的使用。这将排除使用某些 TensorRT API 来反序列化和加载精简运行时。

这些应被视为位偏移量,例如,为了允许给定 IRuntime 的内存文件

runtime.tempfile_control_flags |= (1 << int(TempfileControlFlag.ALLOW_IN_MEMORY_FILES))

成员

ALLOW_IN_MEMORY_FILES : 允许在内存中(或未命名文件)创建和加载文件。

ALLOW_TEMPORARY_FILES : 允许在文件系统上的临时目录中创建和加载命名文件。

class tensorrt.Runtime(self: tensorrt.tensorrt.Runtime, logger: tensorrt.tensorrt.ILogger)

允许反序列化序列化的 ICudaEngine

变量:
  • error_recorderIErrorRecorder 应用程序实现的 TensorRT 对象错误报告接口。

  • gpu_allocatorIGpuAllocator `Runtime` 要使用的 GPU 分配器。所有获取的 GPU 内存都将使用此分配器。如果设置为 None,将使用默认分配器(默认值:cudaMalloc/cudaFree)。

  • DLA_coreint 引擎在其上执行的 DLA 核心。必须介于 0 和 N-1 之间,其中 N 是可用 DLA 核心的数量。

  • num_DLA_coresint 此构建器可用的 DLA 引擎数量。

  • loggerILogger 创建 refitter 时提供的日志记录器。

  • max_threadsint `Runtime` 可以使用的最大线程数。

  • temporary_directorystr 加载引擎的可执行代码时要使用的临时目录。如果设置为 None(默认值),TensorRT 将尝试使用特定于平台的启发式方法找到合适的目录以供使用:- 在 UNIX/Linux 平台上,TensorRT 将首先尝试 TMPDIR 环境变量,然后回退到 /tmp - 在 Windows 上,TensorRT 将尝试 TEMP 环境变量。

  • tempfile_control_flagsint 控制是否允许 TensorRT 创建内存文件或临时文件的标志。有关详细信息,请参阅 TempfileControlFlag

  • engine_host_code_allowedbool 是否允许此运行时反序列化包含主机可执行代码的引擎(默认值:False)。

参数:

logger – 要使用的日志记录器。

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

上下文管理器已弃用,并且不起作用。当引用计数达到 0 时,对象会自动释放。

__init__(self: tensorrt.tensorrt.Runtime, logger: tensorrt.tensorrt.ILogger) None
参数:

logger – 要使用的日志记录器。

deserialize_cuda_engine(*args, **kwargs)

重载函数。

  1. deserialize_cuda_engine(self: tensorrt.tensorrt.Runtime, serialized_engine: buffer) -> tensorrt.tensorrt.ICudaEngine

    从主机内存反序列化 ICudaEngine

    arg serialized_engine:

    保存序列化 ICudaEnginebuffer

    returns:

    ICudaEngine,如果无法反序列化,则为 None。

  2. deserialize_cuda_engine(self: tensorrt.tensorrt.Runtime, stream_reader: tensorrt.tensorrt.IStreamReader) -> tensorrt.tensorrt.ICudaEngine

    从流读取器反序列化 ICudaEngine

    arg stream_reader:

    将读取序列化 ICudaEnginePyStreamReader。这可以直接从文件反序列化。

    returns:

    ICudaEngine,如果无法反序列化,则为 None。

  3. deserialize_cuda_engine(self: tensorrt.tensorrt.Runtime, stream_reader_v2: tensorrt.tensorrt.IStreamReaderV2) -> tensorrt.tensorrt.ICudaEngine

    从流读取器 v2 反序列化 ICudaEngine

    arg stream_reader:

    将读取序列化 ICudaEnginePyStreamReaderV2。这可以直接从文件反序列化,并可能提高性能。

    returns:

    ICudaEngine,如果无法反序列化,则为 None。

get_plugin_registry(self: tensorrt.tensorrt.Runtime) tensorrt.tensorrt.IPluginRegistry

获取运行时可以使用的本地插件注册表。

Returns:

运行时可以使用的本地插件注册表。

load_runtime(self: tensorrt.tensorrt.Runtime, path: str) tensorrt.tensorrt.Runtime

从文件加载 IRuntime。

此方法从共享库文件加载运行时库。然后,运行时可用于执行使用 BuilderFlag.VERSION_COMPATIBLE 和 BuilderFlag.EXCLUDE_LEAN_RUNTIME 均设置且与加载的运行时库的 TensorRT 版本相同的版本构建的计划文件。

变量:

path – 运行时精简库的路径。

Returns:

The IRuntime, or None if it could not be loaded.