运行时¶
- 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_recorder –
IErrorRecorder
应用程序实现的 TensorRT 对象错误报告接口。gpu_allocator –
IGpuAllocator
`Runtime` 要使用的 GPU 分配器。所有获取的 GPU 内存都将使用此分配器。如果设置为 None,将使用默认分配器(默认值:cudaMalloc/cudaFree)。DLA_core –
int
引擎在其上执行的 DLA 核心。必须介于 0 和 N-1 之间,其中 N 是可用 DLA 核心的数量。num_DLA_cores –
int
此构建器可用的 DLA 引擎数量。logger –
ILogger
创建 refitter 时提供的日志记录器。max_threads –
int
`Runtime` 可以使用的最大线程数。temporary_directory –
str
加载引擎的可执行代码时要使用的临时目录。如果设置为 None(默认值),TensorRT 将尝试使用特定于平台的启发式方法找到合适的目录以供使用:- 在 UNIX/Linux 平台上,TensorRT 将首先尝试 TMPDIR 环境变量,然后回退到 /tmp - 在 Windows 上,TensorRT 将尝试 TEMP 环境变量。tempfile_control_flags –
int
控制是否允许 TensorRT 创建内存文件或临时文件的标志。有关详细信息,请参阅TempfileControlFlag
。engine_host_code_allowed –
bool
是否允许此运行时反序列化包含主机可执行代码的引擎(默认值: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)¶
重载函数。
deserialize_cuda_engine(self: tensorrt.tensorrt.Runtime, serialized_engine: buffer) -> tensorrt.tensorrt.ICudaEngine
从主机内存反序列化
ICudaEngine
。- arg serialized_engine:
保存序列化
ICudaEngine
的buffer
。- returns:
ICudaEngine
,如果无法反序列化,则为 None。
deserialize_cuda_engine(self: tensorrt.tensorrt.Runtime, stream_reader: tensorrt.tensorrt.IStreamReader) -> tensorrt.tensorrt.ICudaEngine
从流读取器反序列化
ICudaEngine
。- arg stream_reader:
将读取序列化
ICudaEngine
的PyStreamReader
。这可以直接从文件反序列化。- returns:
ICudaEngine
,如果无法反序列化,则为 None。
deserialize_cuda_engine(self: tensorrt.tensorrt.Runtime, stream_reader_v2: tensorrt.tensorrt.IStreamReaderV2) -> tensorrt.tensorrt.ICudaEngine
从流读取器 v2 反序列化
ICudaEngine
。- arg stream_reader:
将读取序列化
ICudaEngine
的PyStreamReaderV2
。这可以直接从文件反序列化,并可能提高性能。- 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.