TensorRT 10.8.0
nvinfer1 命名空间参考

TensorRT API 版本 1 的命名空间。 更多...

命名空间

namespace  anonymous_namespace{NvInfer.h}
 
namespace  anonymous_namespace{NvInferRuntime.h}
 
namespace  impl
 
namespace  plugin
 
namespace  safe
 
namespace  serialize
 
namespace  v_1_0
 为在其他接口中使用而预先声明 IErrorRecorder
 
namespace  v_2_0
 

class  Dims2
 二维数据的描述符。 更多...
 
class  Dims3
 三维数据的描述符。 更多...
 
class  Dims4
 四维数据的描述符。 更多...
 
class  Dims64
 
class  DimsExprs
 Dims 类类似,但维度使用表达式而不是常量。 更多...
 
class  DimsHW
 二维空间数据的描述符。 更多...
 
struct  DynamicPluginTensorDesc
 概述插件可能看到的输入或输出张量。 更多...
 
class  IActivationLayer
 网络定义中的激活层。 更多...
 
class  IAlgorithm
 描述层执行的变体。算法由 IAlgorithmVariant 和每个输入和输出的 IAlgorithmIOInfo 表示。可以使用 AlgorithmSelector::selectAlgorithms() 选择或重现算法。 更多...
 
class  IAlgorithmContext
 描述上下文和需求,这些上下文和需求可以由一个或多个 IAlgorithm 实例满足。 更多...
 
class  IAlgorithmIOInfo
 携带关于算法输入或输出的信息。所有输入和输出的 IAlgorithmIOInfo 以及 IAlgorithmVariant 表示算法的变体,并可用于使用 IAlgorithmSelector::selectAlgorithms() 选择或重现算法。 更多...
 
class  IAlgorithmVariant
 提供唯一的 128 位标识符,该标识符与输入和输出信息一起表示算法的变体,并可用于使用 IAlgorithmSelector::selectAlgorithms() 选择或重现算法 更多...
 
class  IAssertionLayer
 网络中的断言层。 更多...
 
class  IBuilder
 从网络定义构建引擎。 更多...
 
class  IBuilderConfig
 保存用于配置构建器以生成引擎的属性。 更多...
 
class  ICastLayer
 网络中的类型转换层。 更多...
 
class  IConcatenationLayer
 网络定义中的连接层。 更多...
 
class  IConditionLayer
 此层表示 IIfConditional 的条件输入。 更多...
 
class  IConstantLayer
 表示常量值的层。 更多...
 
class  IConvolutionLayer
 网络定义中的卷积层。 更多...
 
class  ICudaEngine
 用于在构建的网络上执行推理的引擎,具有功能上不安全的功能。 更多...
 
class  ICumulativeLayer
 表示跨张量的累积操作的层。 更多...
 
class  IDeconvolutionLayer
 网络定义中的反卷积层。 更多...
 
class  IDequantizeLayer
 网络定义中的反量化层。 更多...
 
class  IDimensionExpr
 IDimensionExpr 表示由常量、输入维度和二元运算构造的整数表达式。 这些表达式可用于覆盖 IPluginV2DynamicExt::getOutputDimensionsIPluginV3OneBuild::getOutputShapes(),以根据输入维度定义输出维度。 更多...
 
class  IDynamicQuantizeLayer
 执行动态量化的网络层。 更多...
 
class  IEinsumLayer
 网络中的 Einsum 层。 更多...
 
class  IElementWiseLayer
 网络定义中的逐元素层。 更多...
 
class  IEngineInspector
 引擎检查器,用于打印引擎或执行上下文的层信息。 更多...
 
class  IExecutionContext
 使用引擎执行推理的上下文,具有功能上不安全的功能。 更多...
 
class  IExprBuilder
 用于构造 IDimensionExpr 的对象。 更多...
 
class  IFillLayer
 根据指定的模式生成张量。 更多...
 
class  IGatherLayer
 网络定义中的 Gather 层。支持多种类型的 Gather 操作。 更多...
 
class  IGridSampleLayer
 网络定义中的 GridSample 层。 更多...
 
class  IHostMemory
 用于处理库分配的、用户可访问的内存的类。 更多...
 
class  IIdentityLayer
 表示恒等函数的层。 更多...
 
class  IIfConditional
 用于构建条件执行的子图的助手。 更多...
 
class  IIfConditionalBoundaryLayer
 这是条件边界层的基类。 更多...
 
class  IIfConditionalInputLayer
 此层表示 IIfConditional 的输入。 更多...
 
class  IIfConditionalOutputLayer
 此层表示 IIfConditional 的输出。 更多...
 
class  IInt8Calibrator
 应用程序实现的用于校准的接口。 更多...
 
class  IIteratorLayer
 执行迭代的层。 更多...
 
class  ILayer
 网络定义中所有层类的基类。 更多...
 
class  ILogger
 构建器、重拟合器和运行时的应用程序实现的日志记录接口。 更多...
 
class  ILoggerFinder
 用于查找记录器的虚拟基类。允许插件在需要发出日志消息时查找记录器的实例。当插件作为版本兼容计划的一部分进行序列化时,指向此类的实例的指针会在初始化时传递给插件共享库。有关详细信息,请参阅开发者指南中的插件章节。 更多...
 
class  ILoop
 用于创建循环子图的助手。 更多...
 
class  ILoopBoundaryLayer
 这是循环边界层的基类。 更多...
 
class  ILoopOutputLayer
 ILoopOutputLayer 是从循环获取输出的唯一方法。 更多...
 
class  ILRNLayer
 网络定义中的 LRN 层。 更多...
 
class  IMatrixMultiplyLayer
 表示矩阵乘法的层。 更多...
 
class  INetworkDefinition
 构建器的输入网络定义。 更多...
 
class  INMSLayer
 网络定义中的非最大抑制层。 更多...
 
class  INoCopy
 为了其他接口使用而预先声明 IEngineInspector更多...
 
class  INonZeroLayer
 
class  INormalizationLayer
 网络定义中的归一化层。 更多...
 
class  InterfaceInfo
 与 TRT 接口关联的版本信息。 更多...
 
class  IOneHotLayer
 网络定义中的 OneHot 层。 更多...
 
class  IOptimizationProfile
 用于动态输入维度和形状张量的优化配置文件。 更多...
 
class  IPaddingLayer
 表示填充操作的层。 更多...
 
class  IParametricReLULayer
 表示参数 ReLU 操作的层。 更多...
 
class  IPluginRegistry
 应用程序中所有插件的单一注册点。它用于在引擎反序列化期间查找插件实现。在内部,插件注册表被认为是单例,因此应用程序中的所有插件都属于同一个全局注册表。请注意,插件注册表仅支持 IPluginV2 类型的插件,并且还应具有相应的 IPluginCreator 实现。 更多...
 
class  IPluginResourceContext
 用于插件访问 TensorRT 提供的每个上下文资源的接口。 更多...
 
class  IPluginV2
 用户实现的层的插件类。 更多...
 
class  IPluginV2DynamicExt
 类似于 IPluginV2Ext,但支持动态形状。 更多...
 
class  IPluginV2Ext
 用户实现的层的插件类。 更多...
 
class  IPluginV2IOExt
 用户实现的层的插件类。 更多...
 
class  IPluginV2Layer
 pluginV2 的层类型。 更多...
 
class  IPluginV3Layer
 V3 插件的层类型。 更多...
 
class  IPoolingLayer
 网络定义中的池化层。 更多...
 
class  IQuantizeLayer
 网络定义中的量化层。 更多...
 
class  IRaggedSoftMaxLayer
 网络定义中的 RaggedSoftmax 层。 更多...
 
class  IRecurrenceLayer
 网络定义中的循环层。 更多...
 
class  IReduceLayer
 表示跨非布尔张量进行缩减的层。 更多...
 
class  IRefitter
 更新引擎中的权重。 更多...
 
class  IResizeLayer
 网络定义中的调整大小层。 更多...
 
class  IReverseSequenceLayer
 网络定义中的 ReverseSequence 层。 更多...
 
class  IRuntime
 允许反序列化功能上不安全的序列化引擎。 更多...
 
class  IScaleLayer
 网络定义中的 Scale 层。 更多...
 
class  IScatterLayer
 网络定义中的 Scatter 层。支持多种类型的 Scatter 操作。 更多...
 
class  ISelectLayer
 根据条件张量从两个数据张量中选择元素。 更多...
 
class  ISerializationConfig
 保存用于配置引擎以序列化二进制文件的属性。 更多...
 
class  IShapeLayer
 用于获取张量形状的层类型。 更多...
 
class  IShuffleLayer
 用于混洗数据的层类型。 更多...
 
class  ISliceLayer
 根据偏移量和步幅将输入张量切片为输出张量。 更多...
 
class  ISoftMaxLayer
 网络定义中的 Softmax 层。 更多...
 
class  ISqueezeLayer
 表示 squeeze 操作的层,在轴集合上移除输入张量的单位维度。 更多...
 
class  ITensor
 网络定义中的张量。 更多...
 
class  ITimingCache
 用于处理从构建器收集的策略计时信息的类。 更多...
 
class  ITopKLayer
 表示 TopK 缩减的层。 更多...
 
class  ITripLimitLayer
 表示 trip-count 限制器的层。 更多...
 
class  IUnaryLayer
 表示一元运算的层。 更多...
 
class  IUnsqueezeLayer
 表示unsqueeze 操作的层,该操作通过在输出的指定轴处插入单位长度维度来重塑输入张量。 更多...
 
class  IVersionedInterface
 用于版本控制的接口类。 更多...
 
struct  Permutation
 表示维度的排列。 更多...
 
class  PluginField
 包含插件属性字段名称和关联数据的结构。可以解析此信息以解码必要的插件元数据。 更多...
 
struct  PluginFieldCollection
 插件字段集合结构体。 更多...
 
class  PluginRegistrar
 将插件创建器注册到注册表。当插件库加载时,将实例化静态注册表对象。此静态对象会将库中所有可用的创建器注册到注册表。 更多...
 
struct  PluginTensorDesc
 插件可能看到的输入或输出字段。 更多...
 
class  Weights
 用作层参数的权重数组。 更多...
 

类型定义

using TensorFormats = uint32_t
 它能够通过二进制 OR 运算表示一个或多个 TensorFormat,例如,1U << TensorFormat::kCHW4 | 1U << TensorFormat::kCHW32更多...
 
using IInt8EntropyCalibrator = v_1_0::IInt8EntropyCalibrator
 
using IInt8EntropyCalibrator2 = v_1_0::IInt8EntropyCalibrator2
 
using IInt8MinMaxCalibrator = v_1_0::IInt8MinMaxCalibrator
 
using IInt8LegacyCalibrator = v_1_0::IInt8LegacyCalibrator
 
using IAlgorithmSelector = v_1_0::IAlgorithmSelector
 
using QuantizationFlags = uint32_t
 使用二进制 OR 运算表示一个或多个 QuantizationFlag 值。 更多...
 
using BuilderFlags = uint32_t
 使用二进制 OR 运算表示一个或多个 BuilderFlag 值,例如,1U << BuilderFlag::kFP16 | 1U << BuilderFlag::kDEBUG更多...
 
using IProgressMonitor = v_1_0::IProgressMonitor
 
using NetworkDefinitionCreationFlags = uint32_t
 使用二进制 OR 运算表示一个或多个 NetworkDefinitionCreationFlag 标志。例如,1U << NetworkDefinitionCreationFlag::kSTRONGLY_TYPED更多...
 
using IPluginResource = v_1_0::IPluginResource
 
using IPluginCreatorInterface = v_1_0::IPluginCreatorInterface
 
using IPluginV3 = v_1_0::IPluginV3
 
using IPluginCapability = v_1_0::IPluginCapability
 
using IStreamReader = v_1_0::IStreamReader
 
using IStreamReaderV2 = v_1_0::IStreamReaderV2
 
using IPluginV3OneCore = v_1_0::IPluginV3OneCore
 
using IPluginV3OneBuild = v_1_0::IPluginV3OneBuild
 
using IPluginV3OneRuntime = v_1_0::IPluginV3OneRuntime
 
using IPluginV3OneBuildV2 = v_2_0::IPluginV3OneBuild
 
using IProfiler = v_1_0::IProfiler
 
using TempfileControlFlags = uint32_t
 表示使用按位 OR 运算组合的一个或多个 TempfileControlFlag 值的集合。 更多...
 
using AllocatorFlags = uint32_t
 
using IGpuAllocator = v_1_0::IGpuAllocator
 
using TacticSources = uint32_t
 表示使用按位 OR 运算组合的一个或多个 TacticSource 值的集合。 更多...
 
using SerializationFlags = uint32_t
 使用二进制 OR 运算表示一个或多个 SerializationFlag 值,例如,1U << SerializationFlag::kEXCLUDE_LEAN_RUNTIME更多...
 
using IOutputAllocator = v_1_0::IOutputAllocator
 
using IDebugListener = v_1_0::IDebugListener
 
using IGpuAsyncAllocator = v_1_0::IGpuAsyncAllocator
 
using IPluginCreatorV3One = v_1_0::IPluginCreatorV3One
 
using char_t = char
 char_t 是 TensorRT 用于表示所有有效字符的类型。 更多...
 
using AsciiChar = char_t
 
using IErrorRecorder = v_1_0::IErrorRecorder
 
using Dims = Dims64
 
using InterfaceKind = char const *
 
using PluginFormat = TensorFormat
 PluginFormat 保留用于向后兼容。 更多...
 
using IPluginCreator = v_1_0::IPluginCreator
 

枚举

enum class  LayerType : int32_t {
  kCONVOLUTION = 0 , kCAST = 1 , kACTIVATION = 2 , kPOOLING = 3 ,
  kLRN = 4 , kSCALE = 5 , kSOFTMAX = 6 , kDECONVOLUTION = 7 ,
  kCONCATENATION = 8 , kELEMENTWISE = 9 , kPLUGIN = 10 , kUNARY = 11 ,
  kPADDING = 12 , kSHUFFLE = 13 , kREDUCE = 14 , kTOPK = 15 ,
  kGATHER = 16 , kMATRIX_MULTIPLY = 17 , kRAGGED_SOFTMAX = 18 , kCONSTANT = 19 ,
  kIDENTITY = 20 , kPLUGIN_V2 = 21 , kSLICE = 22 , kSHAPE = 23 ,
  kPARAMETRIC_RELU = 24 , kRESIZE = 25 , kTRIP_LIMIT = 26 , kRECURRENCE = 27 ,
  kITERATOR = 28 , kLOOP_OUTPUT = 29 , kSELECT = 30 , kFILL = 31 ,
  kQUANTIZE = 32 , kDEQUANTIZE = 33 , kCONDITION = 34 , kCONDITIONAL_INPUT = 35 ,
  kCONDITIONAL_OUTPUT = 36 , kSCATTER = 37 , kEINSUM = 38 , kASSERTION = 39 ,
  kONE_HOT = 40 , kNON_ZERO = 41 , kGRID_SAMPLE = 42 , kNMS = 43 ,
  kREVERSE_SEQUENCE = 44 , kNORMALIZATION = 45 , kPLUGIN_V3 = 46 , kSQUEEZE = 47 ,
  kUNSQUEEZE = 48 , kCUMULATIVE = 49 , kDYNAMIC_QUANTIZE = 50
}
 层类的类型值。 更多...
 
enum class  ActivationType : int32_t {
  kRELU = 0 , kSIGMOID = 1 , kTANH = 2 , kLEAKY_RELU = 3 ,
  kELU = 4 , kSELU = 5 , kSOFTSIGN = 6 , kSOFTPLUS = 7 ,
  kCLIP = 8 , kHARD_SIGMOID = 9 , kSCALED_TANH = 10 , kTHRESHOLDED_RELU = 11 ,
  kGELU_ERF = 12 , kGELU_TANH = 13
}
 枚举激活层中要执行的激活类型。 更多...
 
enum class  PaddingMode : int32_t { kEXPLICIT_ROUND_DOWN = 0 , kEXPLICIT_ROUND_UP = 1 , kSAME_UPPER = 2 , kSAME_LOWER = 3 }
 枚举在卷积层、反卷积层和池化层中执行的填充模式,如果同时使用 setPaddingMode() 和 setPrePadding(),则填充模式优先。 更多...
 
enum class  PoolingType : int32_t { kMAX = 0 , kAVERAGE = 1 , kMAX_AVERAGE_BLEND = 2 }
 在池化层中执行的池化类型。 更多...
 
enum class  ScaleMode : int32_t { kUNIFORM = 0 , kCHANNEL = 1 , kELEMENTWISE = 2 }
 控制如何在 Scale 层中应用 shift、scale 和 power。 更多...
 
enum class  ElementWiseOperation : int32_t {
  kSUM = 0 , kPROD = 1 , kMAX = 2 , kMIN = 3 ,
  kSUB = 4 , kDIV = 5 , kPOW = 6 , kFLOOR_DIV = 7 ,
  kAND = 8 , kOR = 9 , kXOR = 10 , kEQUAL = 11 ,
  kGREATER = 12 , kLESS = 13
}
 枚举 ElementWise 层可能执行的二元运算。 更多...
 
enum class  GatherMode : int32_t { kDEFAULT = 0 , kELEMENT = 1 , kND = 2 }
 控制 IGatherLayer 的形式。 更多...
 
enum class  UnaryOperation : int32_t {
  kEXP = 0 , kLOG = 1 , kSQRT = 2 , kRECIP = 3 ,
  kABS = 4 , kNEG = 5 , kSIN = 6 , kCOS = 7 ,
  kTAN = 8 , kSINH = 9 , kCOSH = 10 , kASIN = 11 ,
  kACOS = 12 , kATAN = 13 , kASINH = 14 , kACOSH = 15 ,
  kATANH = 16 , kCEIL = 17 , kFLOOR = 18 , kERF = 19 ,
  kNOT = 20 , kSIGN = 21 , kROUND = 22 , kISINF = 23 ,
  kISNAN = 24
}
 枚举 Unary 层可能执行的一元运算。 更多...
 
enum class  ReduceOperation : int32_t {
  kSUM = 0 , kPROD = 1 , kMAX = 2 , kMIN = 3 ,
  kAVG = 4
}
 枚举 Reduce 层可能执行的规约运算。 更多...
 
enum class  SampleMode : int32_t {
  kSTRICT_BOUNDS = 0 , kWRAP = 1 , kCLAMP = 2 , kFILL = 3 ,
  kREFLECT = 4
}
 控制 ISliceLayer 和 IGridSample 如何处理越界坐标。 更多...
 
enum class  TopKOperation : int32_t { kMAX = 0 , kMIN = 1 }
 枚举 TopK 层可能执行的运算。 更多...
 
enum class  MatrixOperation : int32_t { kNONE = 0 , kTRANSPOSE = 1 , kVECTOR = 2 }
 枚举 IMatrixMultiplyLayer 在乘法运算之前可能对张量执行的运算。 更多...
 
enum class  InterpolationMode : int32_t { kNEAREST = 0 , kLINEAR = 1 , kCUBIC = 2 }
 枚举各种插值模式。 更多...
 
enum class  ResizeCoordinateTransformation : int32_t { kALIGN_CORNERS = 0 , kASYMMETRIC = 1 , kHALF_PIXEL = 2 }
 调整大小坐标变换函数。 更多...
 
enum class  ResizeSelector : int32_t { kFORMULA = 0 , kUPPER = 1 }
 调整大小到单像素输出时的坐标选择器。 更多...
 
enum class  ResizeRoundMode : int32_t { kHALF_UP = 0 , kHALF_DOWN = 1 , kFLOOR = 2 , kCEIL = 3 }
 最近邻调整大小的舍入模式。 更多...
 
enum class  LoopOutput : int32_t { kLAST_VALUE = 0 , kCONCATENATE = 1 , kREVERSE = 2 }
 
enum class  TripLimit : int32_t { kCOUNT = 0 , kWHILE = 1 }
 
enum class  FillOperation : int32_t { kLINSPACE = 0 , kRANDOM_UNIFORM = 1 , kRANDOM_NORMAL = 2 }
 枚举 fill 层可能执行的张量填充操作。 更多...
 
enum class  ScatterMode : int32_t { kELEMENT = 0 , kND = 1 }
 控制 IScatterLayer 的形式。 更多...
 
enum class  BoundingBoxFormat : int32_t { kCORNER_PAIRS = 0 , kCENTER_SIZES = 1 }
 用于 INMSLayer 中 Boxes 输入张量的边界框数据表示形式。 更多...
 
enum class  CumulativeOperation : int32_t { kSUM = 0 }
 枚举 Cumulative 层可能执行的累积运算。 更多...
 
enum class  CalibrationAlgoType : int32_t { kLEGACY_CALIBRATION = 0 , kENTROPY_CALIBRATION = 1 , kENTROPY_CALIBRATION_2 = 2 , kMINMAX_CALIBRATION = 3 }
 要使用的校准算法版本。 更多...
 
enum class  QuantizationFlag : int32_t { kCALIBRATE_BEFORE_FUSION = 0 }
 用于将网络量化为 int8 的有效标志列表。 更多...
 
enum class  RuntimePlatform : int32_t { kSAME_AS_BUILD = 0 , kWINDOWS_AMD64 = 1 }
 描述 TensorRT 引擎执行的预期运行时平台(操作系统和 CPU 架构)。当目标运行时平台与构建平台不同时,TensorRT 提供对跨平台引擎兼容性的支持。 更多...
 
enum class  BuilderFlag : int32_t {
  kFP16 = 0 , kINT8 = 1 , kDEBUG = 2 , kGPU_FALLBACK = 3 ,
  kREFIT = 4 , kDISABLE_TIMING_CACHE = 5 , kTF32 = 6 , kSPARSE_WEIGHTS = 7 ,
  kSAFETY_SCOPE = 8 , kOBEY_PRECISION_CONSTRAINTS = 9 , kPREFER_PRECISION_CONSTRAINTS = 10 , kDIRECT_IO = 11 ,
  kREJECT_EMPTY_ALGORITHMS = 12 , kVERSION_COMPATIBLE = 13 , kEXCLUDE_LEAN_RUNTIME = 14 , kFP8 = 15 ,
  kERROR_ON_TIMING_CACHE_MISS = 16 , kBF16 = 17 , kDISABLE_COMPILATION_CACHE = 18 , kSTRIP_PLAN = 19 ,
  kWEIGHTLESS = kSTRIP_PLAN , kREFIT_IDENTICAL = 20 , kWEIGHT_STREAMING = 21 , kINT4 = 22 ,
  kREFIT_INDIVIDUAL = 23 , kSTRICT_NANS = 24 , kMONITOR_MEMORY = 25 , kFP4 = 26 ,
  kEDITABLE_TIMING_CACHE = 27
}
 构建器在从网络定义创建引擎时可以启用的有效模式列表。 更多...
 
enum class  MemoryPoolType : int32_t {
  kWORKSPACE = 0 , kDLA_MANAGED_SRAM = 1 , kDLA_LOCAL_DRAM = 2 , kDLA_GLOBAL_DRAM = 3 ,
  kTACTIC_DRAM = 4 , kTACTIC_SHARED_MEMORY = 5
}
 TensorRT 使用的内存池类型。 更多...
 
enum class  PreviewFeature : int32_t { kPROFILE_SHARING_0806 = 0 , kALIASED_PLUGIN_IO_10_03 = 1 }
 定义预览功能。 更多...
 
enum class  HardwareCompatibilityLevel : int32_t { kNONE = 0 , kAMPERE_PLUS = 1 }
 描述与其他 GPU 架构(而非构建引擎所用 GPU 的架构)的兼容性要求。 更多...
 
enum class  TilingOptimizationLevel : int32_t { kNONE = 0 , kFAST = 1 , kMODERATE = 2 , kFULL = 3 }
 定义 Tiling 的优化级别。 更多...
 
enum class  NetworkDefinitionCreationFlag : int32_t { kEXPLICIT_BATCH = 0 , kSTRONGLY_TYPED = 1 }
 在网络创建时表达的不可变网络属性列表。 NetworkDefinitionCreationFlag 与 createNetworkV2() 一起使用,以指定网络的不可变属性。 更多...
 
enum class  PluginFieldType : int32_t {
  kFLOAT16 = 0 , kFLOAT32 = 1 , kFLOAT64 = 2 , kINT8 = 3 ,
  kINT16 = 4 , kINT32 = 5 , kCHAR = 6 , kDIMS = 7 ,
  kUNKNOWN = 8 , kBF16 = 9 , kINT64 = 10 , kFP8 = 11 ,
  kINT4 = 12 , kFP4 = 13
}
 自定义层的可能字段类型。 更多...
 
enum class  TensorRTPhase : int32_t { kBUILD = 0 , kRUNTIME = 1 }
 指示 TensorRT 的操作阶段。 更多...
 
enum class  PluginCapabilityType : int32_t { kCORE = 0 , kBUILD = 1 , kRUNTIME = 2 }
 枚举 IPluginV3 对象可能具有的不同能力类型。 更多...
 
enum class  EngineCapability : int32_t { kSTANDARD = 0 , kSAFETY = 1 , kDLA_STANDALONE = 2 }
 支持的引擎能力流程列表。 更多...
 
enum class  DimensionOperation : int32_t {
  kSUM = 0 , kPROD = 1 , kMAX = 2 , kMIN = 3 ,
  kSUB = 4 , kEQUAL = 5 , kLESS = 6 , kFLOOR_DIV = 7 ,
  kCEIL_DIV = 8
}
 对两个 IDimensionExpr 的运算,IDimensionExpr 表示维度计算中使用的整数表达式。 更多...
 
enum class  TensorLocation : int32_t { kDEVICE = 0 , kHOST = 1 }
 张量数据存储的位置,设备或主机。 更多...
 
enum class  SeekPosition : int32_t { kSET = 0 , kCUR = 1 , kEND = 2 }
 控制 IStreamReaderV2 的查找模式。 更多...
 
enum class  WeightsRole : int32_t {
  kKERNEL = 0 , kBIAS = 1 , kSHIFT = 2 , kSCALE = 3 ,
  kCONSTANT = 4 , kANY = 5
}
 层如何使用特定的权重 (Weights)。 更多...
 
enum class  DeviceType : int32_t { kGPU = 0 , kDLA = 1 }
 此层/网络将在其上执行的设备。 更多...
 
enum class  TempfileControlFlag : int32_t { kALLOW_IN_MEMORY_FILES = 0 , kALLOW_TEMPORARY_FILES = 1 }
 用于控制 TensorRT 在创建可执行临时文件时的行为的标志。 更多...
 
enum class  TensorFormat : int32_t {
  kLINEAR = 0 , kCHW2 = 1 , kHWC8 = 2 , kCHW4 = 3 ,
  kCHW16 = 4 , kCHW32 = 5 , kDHWC8 = 6 , kCDHW32 = 7 ,
  kHWC = 8 , kDLA_LINEAR = 9 , kDLA_HWC4 = 10 , kHWC16 = 11 ,
  kDHWC = 12
}
 输入/输出张量的格式。 更多...
 
enum class  AllocatorFlag : int32_t { kRESIZABLE = 0 }
 允许的内存分配类型。 更多...
 
enum class  OptProfileSelector : int32_t { kMIN = 0 , kOPT = 1 , kMAX = 2 }
 当设置或查询优化配置文件参数(例如形状张量输入或动态维度)时,选择我们是否对这些参数的最小值、最优值或最大值感兴趣。最小值和最大值指定运行时支持的允许范围,而最优值用于内核选择。这应该是运行时预期发生的“典型”值。 更多...
 
enum class  TacticSource : int32_t {
  kCUBLAS = 0 , kCUBLAS_LT = 1 , kCUDNN = 2 , kEDGE_MASK_CONVOLUTIONS = 3 ,
  kJIT_CONVOLUTIONS = 4
}
 TensorRT 的 tactic 来源列表。 更多...
 
enum class  ProfilingVerbosity : int32_t { kLAYER_NAMES_ONLY = 0 , kNONE = 1 , kDETAILED = 2 }
 NVTX 注释和 IEngineInspector 中公开的层信息的详细级别列表。 更多...
 
enum class  SerializationFlag : int32_t { kEXCLUDE_WEIGHTS = 0 , kEXCLUDE_LEAN_RUNTIME = 1 }
 引擎在序列化字节时可以启用的有效标志列表。 更多...
 
enum class  ExecutionContextAllocationStrategy : int32_t { kSTATIC = 0 , kON_PROFILE_CHANGE = 1 , kUSER_MANAGED = 2 }
 IExecutionContext 的不同内存分配行为。 更多...
 
enum class  LayerInformationFormat : int32_t { kONELINE = 0 , kJSON = 1 }
 IEngineInspector 打印层信息的格式。 更多...
 
enum class  DataType : int32_t {
  kFLOAT = 0 , kHALF = 1 , kINT8 = 2 , kINT32 = 3 ,
  kBOOL = 4 , kUINT8 = 5 , kFP8 = 6 , kBF16 = 7 ,
  kINT64 = 8 , kINT4 = 9 , kFP4 = 10
}
 权重和张量的类型。 更多...
 
enum class  APILanguage : int32_t { kCPP = 0 , kPYTHON = 1 }
 用于实现 TRT 接口的编程语言。 更多...
 
enum class  ErrorCode : int32_t {
  kSUCCESS = 0 , kUNSPECIFIED_ERROR = 1 , kINTERNAL_ERROR = 2 , kINVALID_ARGUMENT = 3 ,
  kINVALID_CONFIG = 4 , kFAILED_ALLOCATION = 5 , kFAILED_INITIALIZATION = 6 , kFAILED_EXECUTION = 7 ,
  kFAILED_COMPUTATION = 8 , kINVALID_STATE = 9 , kUNSUPPORTED_STATE = 10
}
 TensorRT 在执行期间可能返回的错误代码。 更多...
 
enum class  TensorIOMode : int32_t { kNONE = 0 , kINPUT = 1 , kOUTPUT = 2 }
 张量 IO 模式的定义。 更多...
 
enum class  PluginVersion : uint8_t {
  kV2 = 0 , kV2_EXT = 1 , kV2_IOEXT = 2 , kV2_DYNAMICEXT = 3 ,
  kV2_DYNAMICEXT_PYTHON = kPLUGIN_VERSION_PYTHON_BIT | 3
}
 
enum class  PluginCreatorVersion : int32_t { kV1 = 0 , kV1_PYTHON = kPLUGIN_VERSION_PYTHON_BIT }
 枚举类型,用于标识插件创建器的版本。 更多...
 

函数

template<>
constexpr int32_t EnumMax< LayerType > () noexcept
 
template<>
constexpr int32_t EnumMax< ScaleMode > () noexcept
 
template<>
constexpr int32_t EnumMax< GatherMode > () noexcept
 
template<>
constexpr int32_t EnumMax< UnaryOperation > () noexcept
 
template<>
constexpr int32_t EnumMax< ReduceOperation > () noexcept
 
template<>
constexpr int32_t EnumMax< SampleMode > () noexcept
 
template<>
constexpr int32_t EnumMax< TopKOperation > () noexcept
 
template<>
constexpr int32_t EnumMax< MatrixOperation > () noexcept
 
template<>
constexpr int32_t EnumMax< LoopOutput > () noexcept
 
template<>
constexpr int32_t EnumMax< TripLimit > () noexcept
 
template<>
constexpr int32_t EnumMax< FillOperation > () noexcept
 
template<>
constexpr int32_t EnumMax< ScatterMode > () noexcept
 
template<>
constexpr int32_t EnumMax< BoundingBoxFormat > () noexcept
 
template<>
constexpr int32_t EnumMax< CalibrationAlgoType > () noexcept
 
template<>
constexpr int32_t EnumMax< QuantizationFlag > () noexcept
 
template<>
constexpr int32_t EnumMax< BuilderFlag > () noexcept
 
template<>
constexpr int32_t EnumMax< MemoryPoolType > () noexcept
 
template<>
constexpr int32_t EnumMax< NetworkDefinitionCreationFlag > () noexcept
 
nvinfer1::IPluginRegistrygetBuilderPluginRegistry (nvinfer1::EngineCapability capability) noexcept
 返回用于构建标准引擎的插件注册表;如果注册表不存在,则返回 nullptr。 更多...
 
nvinfer1::safe::IPluginRegistry * getBuilderSafePluginRegistry (nvinfer1::EngineCapability capability) noexcept
 返回用于构建安全引擎的插件注册表;如果注册表不存在,则返回 nullptr。 更多...
 
template<>
constexpr int32_t EnumMax< DimensionOperation > () noexcept
 DimensionOperation 枚举中元素的最大数量。 更多...
 
template<>
constexpr int32_t EnumMax< WeightsRole > () noexcept
 WeightsRole 枚举中元素的最大数量。 更多...
 
template<>
constexpr int32_t EnumMax< DeviceType > () noexcept
 DeviceType 枚举中元素的最大数量。 更多...
 
template<>
constexpr int32_t EnumMax< TempfileControlFlag > () noexcept
 TempfileControlFlag 枚举中元素的最大数量。 更多...
 
template<>
constexpr int32_t EnumMax< OptProfileSelector > () noexcept
 OptProfileSelector 枚举的不同值的数量。 更多...
 
template<>
constexpr int32_t EnumMax< TacticSource > () noexcept
 TacticSource 枚举中策略源的最大数量。 更多...
 
template<>
constexpr int32_t EnumMax< ProfilingVerbosity > () noexcept
 ProfilingVerbosity 枚举中性能分析详细级别最大数量。 更多...
 
template<>
constexpr int32_t EnumMax< SerializationFlag > () noexcept
 SerializationFlag 枚举中序列化标志的最大数量。 更多...
 
template<>
constexpr int32_t EnumMax< ExecutionContextAllocationStrategy > () noexcept
 ExecutionContextAllocationStrategy 枚举中内存分配策略的最大数量。 更多...
 
template<>
constexpr int32_t EnumMax< LayerInformationFormat > () noexcept
 
template<typename T >
constexpr int32_t EnumMax () noexcept
 枚举类型中元素的最大数量。 更多...
 

详细描述

TensorRT API 版本 1 的命名空间。

类型定义文档

◆ AllocatorFlags

using nvinfer1::AllocatorFlags = typedef uint32_t

◆ AsciiChar

using nvinfer1::AsciiChar = typedef char_t

AsciiChar 是 TensorRT 用于表示有效 ASCII 字符的类型。此类型广泛用于汽车安全领域。

◆ BuilderFlags

using nvinfer1::BuilderFlags = typedef uint32_t

使用二进制 OR 操作表示一个或多个 BuilderFlag 值,例如:1U << BuilderFlag::kFP16 | 1U << BuilderFlag::kDEBUG

另请参阅
IBuilderConfig::setFlags(), IBuilderConfig::getFlags()

◆ char_t

using nvinfer1::char_t = typedef char

char_t 是 TensorRT 用于表示所有有效字符的类型。

◆ Dims

using nvinfer1::Dims = typedef Dims64

Dims64 的别名。

◆ IAlgorithmSelector

◆ IDebugListener

◆ IErrorRecorder

◆ IGpuAllocator

◆ IGpuAsyncAllocator

◆ IInt8EntropyCalibrator

◆ IInt8EntropyCalibrator2

◆ IInt8LegacyCalibrator

◆ IInt8MinMaxCalibrator

◆ InterfaceKind

using nvinfer1::InterfaceKind = typedef char const*

◆ IOutputAllocator

◆ IPluginCapability

◆ IPluginCreator

◆ IPluginCreatorInterface

◆ IPluginCreatorV3One

◆ IPluginResource

◆ IPluginV3

◆ IPluginV3OneBuild

◆ IPluginV3OneBuildV2

◆ IPluginV3OneCore

◆ IPluginV3OneRuntime

◆ IProfiler

◆ IProgressMonitor

◆ IStreamReader

◆ IStreamReaderV2

◆ NetworkDefinitionCreationFlags

using nvinfer1::NetworkDefinitionCreationFlags = typedef uint32_t

使用二进制 OR 操作表示一个或多个 NetworkDefinitionCreationFlag 标志。例如:1U << NetworkDefinitionCreationFlag::kSTRONGLY_TYPED

另请参阅
IBuilder::createNetworkV2

◆ PluginFormat

PluginFormat 保留用于向后兼容。

另请参阅
IPluginV2::supportsFormat()

◆ QuantizationFlags

using nvinfer1::QuantizationFlags = typedef uint32_t

使用二进制 OR 操作表示一个或多个 QuantizationFlag 值。

另请参阅
IBuilderConfig::getQuantizationFlags(), IBuilderConfig::setQuantizationFlags()

◆ SerializationFlags

using nvinfer1::SerializationFlags = typedef uint32_t

使用二进制 OR 操作表示一个或多个 SerializationFlag 值,例如:1U << SerializationFlag::kEXCLUDE_LEAN_RUNTIME

另请参阅
ISerializationConfig::setFlags(), ISerializationConfig::getFlags()

◆ TacticSources

using nvinfer1::TacticSources = typedef uint32_t

表示使用按位 OR 运算组合的一个或多个 TacticSource 值的集合。

另请参阅
IBuilderConfig::setTacticSources(), IBuilderConfig::getTacticSources()

◆ TempfileControlFlags

using nvinfer1::TempfileControlFlags = typedef uint32_t

表示使用按位 OR 运算组合的一个或多个 TempfileControlFlag 值的集合。

另请参阅
TempfileControlFlag, IRuntime::setTempfileControlFlags(), IRuntime::getTempfileControlFlags()

◆ TensorFormats

using nvinfer1::TensorFormats = typedef uint32_t

它能够通过二进制 OR 运算表示一个或多个 TensorFormat,例如:1U << TensorFormat::kCHW4 | 1U << TensorFormat::kCHW32

另请参阅
ITensor::getAllowedFormats(), ITensor::setAllowedFormats(),

枚举类型文档

◆ ActivationType

enum class nvinfer1::ActivationType : int32_t
strong

枚举在激活层中执行的激活类型。

枚举器
kRELU 

修正线性激活。

kSIGMOID 

Sigmoid 激活。

kTANH 

TanH 激活。

kLEAKY_RELU 

LeakyRelu 激活:x>=0 ? x : alpha * x。

kELU 

Elu 激活:x>=0 ? x : alpha * (exp(x) - 1)。

kSELU 

Selu 激活:x>0 ? beta * x : beta * (alpha*exp(x) - alpha)

kSOFTSIGN 

Softsign 激活:x / (1+|x|)

kSOFTPLUS 

参数化 Softplus 激活:alpha*log(exp(beta*x)+1)

kCLIP 

Clip 激活:max(alpha, min(beta, x))

kHARD_SIGMOID 

Hard sigmoid 激活:max(0, min(1, alpha*x+beta))

kSCALED_TANH 

Scaled tanh 激活:alpha*tanh(beta*x)

kTHRESHOLDED_RELU 

Thresholded ReLU 激活:x>alpha ? x : 0。

kGELU_ERF 

GELU erf 激活:0.5 * x * (1 + erf(sqrt(0.5) * x))

kGELU_TANH 

GELU tanh 激活:0.5 * x * (1 + tanh(sqrt(2/pi) * (0.044715F * pow(x, 3) + x)))

◆ AllocatorFlag

enum class nvinfer1::AllocatorFlag : int32_t
strong

允许的内存分配类型。

枚举器
kRESIZABLE 

TensorRT 可能会在此分配上调用 realloc()。

◆ APILanguage

enum class nvinfer1::APILanguage : int32_t
strong

在 TRT 接口的实现中使用的编程语言。

枚举器
kCPP 
kPYTHON 

◆ BoundingBoxFormat

enum class nvinfer1::BoundingBoxFormat : int32_t
strong

用于 INMSLayer 中 Boxes 输入张量的边界框数据表示形式。

另请参阅
INMSLayer
枚举器
kCORNER_PAIRS 

(x1, y1, x2, y2),其中 (x1, y1) 和 (x2, y2) 是任意一对对角角点

kCENTER_SIZES 

(x_center, y_center, width, height),其中 (x_center, y_center) 是框的中心点

◆ BuilderFlag

enum class nvinfer1::BuilderFlag : int32_t
strong

构建器在从网络定义创建引擎时可以启用的有效模式列表。

另请参阅
IBuilderConfig::setFlags(), IBuilderConfig::getFlags()
枚举器
kFP16 

启用 FP16 层选择,并使用 FP32 回退。

kINT8 

启用 Int8 层选择,并使用 FP32 回退;如果同时指定 kFP16,则使用 FP16 回退。

kDEBUG 

通过在每层之后同步来启用层的调试。

kGPU_FALLBACK 

如果层无法在 DLA 上执行,则启用标记为在 GPU 上执行的层。

kREFIT 

启用构建可重装引擎。

kDISABLE_TIMING_CACHE 

禁用跨相同层重用时序信息。

kTF32 

允许(但不要求)DataType::kFLOAT 类型的张量上的计算使用 TF32。TF32 通过在乘法之前将输入四舍五入到 10 位尾数来计算内积,但使用 23 位尾数累积和。默认启用。

kSPARSE_WEIGHTS 

允许构建器检查权重并在权重具有合适的稀疏性时使用优化的函数。

kSAFETY_SCOPE 

更改 EngineCapability::kSTANDARD 流程中允许的参数,以匹配 EngineCapability::kSAFETY 针对 DeviceType::kGPUEngineCapability::kDLA_STANDALONE 针对 DeviceType::kDLA 情况检查的限制。如果在构建时 EngineCapability::kSAFETY 未设置,则此标志将被强制设置为 true。

此标志仅在 NVIDIA Drive(R) 产品中受支持。

kOBEY_PRECISION_CONSTRAINTS 

要求层以指定的精度执行。否则构建失败。

kPREFER_PRECISION_CONSTRAINTS 

首选层以指定的精度执行。如果构建在其他情况下会失败,则回退(并发出警告)到另一种精度。

kDIRECT_IO 

对于调用了 ITensor::setAllowedFormats 的层和网络 I/O 张量之间,要求不插入重格式化。如果功能正确性需要重格式化,则构建失败。

已弃用
在 TensorRT 10.7 中已弃用。不需要的 API。
kREJECT_EMPTY_ALGORITHMS 

如果 IAlgorithmSelector::selectAlgorithms 返回空算法集,则失败。

kVERSION_COMPATIBLE 

限制为精简运行时运算符,以便为计划提供版本向前兼容性。

此标志仅受 NVIDIA Volta 及更高版本的 GPU 支持。NVIDIA Drive(R) 产品不支持此标志。

kEXCLUDE_LEAN_RUNTIME 

启用版本向前兼容性时,从计划中排除精简运行时。默认情况下,此标志未设置,因此精简运行时将包含在计划中。

如果未设置 BuilderFlag::kVERSION_COMPATIBLE,则将忽略此标志的值。

kFP8 

启用具有 FP8 输入/输出的插件。

This flag is not supported with hardware-compatibility mode.

\see HardwareCompatibilityLevel 
kERROR_ON_TIMING_CACHE_MISS 

当正在计时的策略不在时序缓存中时,发出错误。此标志仅在 IBuilderConfig 具有关联的 ITimingCache 时才生效。

kBF16 

启用 DataType::kBF16 层选择,并使用 FP32 回退。此标志仅受 NVIDIA Ampere 及更高版本的 GPU 支持。

kDISABLE_COMPILATION_CACHE 

在引擎构建期间禁用 JIT 编译结果的缓存。默认情况下,JIT 编译的代码将作为时序缓存的一部分进行序列化,这可能会显着增加缓存大小。设置此标志可防止代码被序列化。此标志仅在未设置 BuilderFlag::DISABLE_TIMING_CACHE 时才生效。

kSTRIP_PLAN 

从引擎计划文件中剥离可重装权重。

kWEIGHTLESS 
已弃用
在 TensorRT 10.0 中已弃用。被 kSTRIP_PLAN 取代。
kREFIT_IDENTICAL 

创建可重装引擎,并假设重装权重将与构建时提供的权重相同。生成的引擎将具有与不可重装引擎相同的性能。所有可重装权重都可以通过重装 API 进行重装,但如果重装权重与构建时权重不相同,则行为未定义。当与“kSTRIP_PLAN”一起使用时,此标志将生成一个小的计划文件,权重稍后通过重装提供。这使得可以将一组权重与不同的推理后端或与多个 GPU 架构的 TensorRT 计划一起使用。

kWEIGHT_STREAMING 

为当前引擎启用权重流式传输。

来自主机的权重流式传输通过允许 TensorRT 智能地从 CPU DRAM 流式传输网络权重,从而实现执行不适合 GPU 内存的模型。有关启用此标志时的默认内存预算,请参阅 ICudaEngine::getMinimumWeightStreamingBudget

启用此功能会更改 IRuntime::deserializeCudaEngine 的行为,以在 CPU DRAM 而不是 GPU 内存上分配整个网络的权重。ICudaEngine::createExecutionContext 将确定 CPU 和 GPU 之间权重的最佳分配,并相应地放置权重。

未来的 TensorRT 版本可能会默认启用此标志。

警告
启用此标志可能会略微增加构建时间。
启用此功能将显着增加 ICudaEngine::createExecutionContext 的延迟。
另请参阅
IRuntime::deserializeCudaEngine, ICudaEngine::getMinimumWeightStreamingBudget, ICudaEngine::setWeightStreamingBudget
kINT4 

启用具有 INT4 输入/输出的插件。

kREFIT_INDIVIDUAL 

启用构建可重装引擎并提供细粒度控制。这允许使用 INetworkDefinition::markWeightsRefittableINetworkDefinition::unmarkWeightsRefittable 控制哪些权重是可重装的或不可重装的。默认情况下,启用此标志时,所有权重都不可重装。此标志不能与 kREFIT 或 kREFIT_IDENTICAL 一起使用。

kSTRICT_NANS 

禁用浮点优化:0*x => 0、x-x => 0 或 x/x => 1。当 x 是 NaN 或 Inf 时,这些恒等式不成立,因此可能会隐藏 NaN 的传播或生成。此标志通常与 kSPARSE_WEIGHTS 结合使用。有三种有效的稀疏配置。

  1. 禁用所有稀疏性。kSPARSE_WEIGHTS 和 kSTRICT_NANS 均未设置
  2. 仅在不影响 NaN 的传播/生成时启用稀疏性。kSPARSE_WEIGHTS 和 kSTRICT_NANS 均已设置
  3. 启用所有稀疏性。kSPARSE_WEIGHTS 已设置,kSTRICT_NANS 未设置
kMONITOR_MEMORY 

在构建时启用内存监视器。

kFP4 

启用具有 FP4 输入/输出的插件。

kEDITABLE_TIMING_CACHE 

启用可编辑时序缓存。

◆ CalibrationAlgoType

enum class nvinfer1::CalibrationAlgoType : int32_t
strong

要使用的校准算法版本。

已弃用
在 TensorRT 10.1 中已弃用。被显式量化取代。
枚举器
kLEGACY_CALIBRATION 

传统校准。

kENTROPY_CALIBRATION 

传统熵校准。

kENTROPY_CALIBRATION_2 

熵校准。

kMINMAX_CALIBRATION 

Minmax 校准。

◆ CumulativeOperation

enum class nvinfer1::CumulativeOperation : int32_t
strong

枚举 Cumulative 层可以执行的累积运算。

下表显示了每个 Cumulative 运算的初始值。

运算kFLOAT、kHALF、kBF16kINT32、kINT64
kSUM+0.0 0
枚举器
kSUM 

计算累积和。

◆ DataType

enum class nvinfer1::DataType : int32_t
strong

权重和张量的类型。

枚举器
kFLOAT 

32 位浮点格式。

kHALF 

IEEE 16 位浮点格式 – 具有 5 位指数和 11 位尾数。

kINT8 

有符号 8 位整数,表示量化的浮点值。

kINT32 

有符号 32 位整数格式。

kBOOL 

8 位布尔值。0 = false,1 = true,其他值未定义。

kUINT8 

无符号 8 位整数格式。不能用于表示量化的浮点值。在与其他 TensorRT 层一起使用之前,使用 IdentityLayer 将 kUINT8 网络级输入转换为 {kFLOAT, kHALF},或者在将 {kFLOAT, kHALF} 转换为 kUINT8 以获得 kUINT8 网络级输出之前,转换中间输出。kUINT8 转换仅支持 {kFLOAT, kHALF}。kUINT8 到 {kFLOAT, kHALF} 的转换会将整数值转换为等效的浮点值。{kFLOAT, kHALF} 到 kUINT8 的转换会将浮点值通过向零截断转换为整数值。对于截断后范围 [0.0F, 256.0F) 之外的浮点值,此转换的行为未定义。{kINT8, kINT32, kBOOL} 不支持 kUINT8 转换。

kFP8 

有符号 8 位浮点数,具有 1 位符号位、4 位指数位、3 位尾数位和指数偏差 7。

kBF16 

Brain float – 具有 8 位指数和 8 位尾数。

kINT64 

有符号 64 位整数类型。

kINT4 

有符号 4 位整数类型。

kFP4 

4 位浮点类型,1 位符号位,2 位指数位,1 位尾数位。

◆ DeviceType

enum class nvinfer1::DeviceType : int32_t
strong

此层/网络将在其上执行的设备。

枚举器
kGPU 

GPU 设备。

kDLA 

DLA 核心。

◆ DimensionOperation

enum class nvinfer1::DimensionOperation : int32_t
strong

对两个 IDimensionExpr 的操作,它们表示维度计算中使用的整数表达式。

例如,给定两个 IDimensionExpr x 和 y 以及一个 IExprBuilder& eb, eb.operation(DimensionOperation::kSUM, x, y) 创建 x+y 的表示。

另请参阅
IDimensionExpr, IExprBuilder
枚举器
kSUM 

两个操作数的和。

kPROD 

两个操作数的积。

kMAX 

两个操作数的最大值。

kMIN 

两个操作数的最小值。

kSUB 

从第一个元素中减去第二个元素。

kEQUAL 

如果操作数相等,则为 1,否则为 0。

kLESS 

如果第一个操作数小于第二个操作数,则为 1,否则为 0。

kFLOOR_DIV 

第一个元素除以第二个元素的向下取整除法。

kCEIL_DIV 

向上取整除法。

◆ ElementWiseOperation

enum class nvinfer1::ElementWiseOperation : int32_t
strong

枚举 ElementWise 层可以执行的二元运算。

运算 kAND、kOR 和 kXOR 必须具有 DataType::kBOOL 类型的输入。

运算 kPOW 必须具有浮点类型或 DataType::kINT8 类型的输入。

所有其他运算必须具有浮点类型、DataType::kINT8DataType::kINT32DataType::kINT64 类型的输入。

另请参阅
IElementWiseLayer
枚举器
kSUM 

两个元素的和。

kPROD 

两个元素的积。

kMAX 

两个元素的最大值。

kMIN 

两个元素的最小值。

kSUB 

从第一个元素中减去第二个元素。

kDIV 

第一个元素除以第二个元素。

kPOW 

第一个元素作为底数,第二个元素作为指数的幂运算。

kFLOOR_DIV 

第一个元素除以第二个元素的向下取整除法。

kAND 

两个元素的逻辑与。

kOR 

两个元素的逻辑或。

kXOR 

两个元素的逻辑异或。

kEQUAL 

检查两个元素是否相等。

kGREATER 

检查第一个张量中的元素是否大于第二个张量中的对应元素。

kLESS 

检查第一个张量中的元素是否小于第二个张量中的对应元素。

◆ EngineCapability

enum class nvinfer1::EngineCapability : int32_t
strong

支持的引擎能力流程列表。

EngineCapability 决定了构建时网络的限制以及它所针对的运行时。当未设置 BuilderFlag::kSAFETY_SCOPE 时(默认情况下),EngineCapability::kSTANDARD 不会对功能施加任何限制,并且可以使用 TensorRT 标准运行时 API 在 nvinfer1 命名空间中执行生成的序列化引擎。EngineCapability::kSAFETY 提供了安全认证的网络操作的受限子集,并且可以使用 TensorRT 的安全运行时 API 在 nvinfer1::safe 命名空间中执行生成的序列化引擎。EngineCapability::kDLA_STANDALONE 提供了 DLA 兼容的网络操作的受限子集,并且可以使用独立的 DLA 运行时 API 执行生成的序列化引擎。有关将 cuDLA API 与 TensorRT API 集成的示例,请参见 sampleCudla。

枚举器
kSTANDARD 

标准:不以安全运行时为目标的 TensorRT 流程。此流程同时支持 DeviceType::kGPUDeviceType::kDLA

kSAFETY 

安全:具有针对安全运行时的限制的 TensorRT 流程。有关支持的层和格式列表,请参见安全文档。此流程仅支持 DeviceType::kGPU

此标志仅在 NVIDIA Drive(R) 产品中受支持。

kDLA_STANDALONE 

DLA 独立:具有针对 TensorRT 外部 DLA 运行时的限制的 TensorRT 流程。有关支持的层和格式列表,请参见 DLA 文档。此流程仅支持 DeviceType::kDLA

◆ ErrorCode

enum class nvinfer1::ErrorCode : int32_t
strong

TensorRT 在执行期间可能返回的错误代码。

枚举器
kSUCCESS 

执行成功完成。

kUNSPECIFIED_ERROR 

不属于任何其他类别的错误。包含此错误是为了向前兼容。

kINTERNAL_ERROR 

发生了不可恢复的 TensorRT 错误。当发出此错误时,TensorRT 处于无效的内部状态,并且任何后续对 TensorRT 的调用都将导致未定义的行为。

kINVALID_ARGUMENT 

传递给函数的参数本身无效。这违反了 API 约定。

kINVALID_CONFIG 

在比较参数状态相对于其他参数时发生错误。例如,concat 的维度在通道维度之外的两个张量之间有所不同。当参数本身正确,但相对于其他参数不正确时,会触发此错误。这有助于区分简单错误和更复杂的错误。这违反了 API 约定。

kFAILED_ALLOCATION 

在主机或设备上执行内存分配时发生错误。内存分配错误通常是致命的,但在应用程序提供自己的内存分配例程的情况下,可以增加可用内存池并恢复执行。

kFAILED_INITIALIZATION 

TensorRT 依赖的一个或多个组件未正确初始化。这是一个系统设置问题。

kFAILED_EXECUTION 

执行期间发生错误,导致 TensorRT 过早结束,无论是异步错误、用户取消还是 CUDA/DLA 报告的其他执行错误。在动态系统中,可以丢弃数据并处理下一帧,或者可以重试执行。这要么是执行错误,要么是内存错误。

kFAILED_COMPUTATION 

执行期间发生错误,导致数据损坏,但执行已完成。此错误的示例包括 NaN 压缩或整数溢出。在动态系统中,可以丢弃数据并处理下一帧,或者可以重试执行。这要么是数据损坏错误、输入错误,要么是范围错误。安全模式不使用此错误,但标准模式可能会使用。

kINVALID_STATE 

TensorRT 由于不正确的功能调用顺序而进入错误状态。无效状态的一个示例是指定仅 DLA 而没有 GPU 后备的层,而 DLA 不支持该层。这可能发生在服务乐观地为多个不同配置执行网络而不检查正确的错误配置,而是丢弃 TensorRT 捕获的错误配置的情况下。这违反了 API 约定,但可能是可恢复的。

恢复示例:GPU 后备被禁用,并且指定具有大滤波器 (63x63) 的 conv 层在 DLA 上运行。由于 DLA 不支持大内核大小,这将失败。可以通过启用 GPU 后备或将该层设置为在 GPU 上运行来恢复此错误。

kUNSUPPORTED_STATE 

由于硬件或系统的约束,网络在设备上不受支持而发生错误。一个例子是在安全认证的环境中运行不安全的层,或者当前网络的资源需求大于目标设备的功能。网络在其他方面是正确的,但网络和硬件组合存在问题。这是可以恢复的。例子:

  • 暂存空间请求大于可用设备内存,可以通过增加允许的工作区大小来恢复。
  • 张量大小超过最大元素计数,可以通过减小最大批大小来恢复。

◆ ExecutionContextAllocationStrategy

enum class nvinfer1::ExecutionContextAllocationStrategy : int32_t
strong

IExecutionContext 的不同内存分配行为。

IExecutionContext 在推理期间需要一块设备内存用于内部激活张量。用户可以选择让执行上下文以各种方式管理内存,也可以自己分配内存。

另请参阅
ICudaEngine::createExecutionContext()
IExecutionContext::setDeviceMemory()
枚举器
kSTATIC 

跨所有配置文件的最大大小的默认静态分配。

kON_PROFILE_CHANGE 

当配置文件被选中时,为该配置文件重新分配内存。

kUSER_MANAGED 

用户为执行上下文提供自定义分配。

◆ FillOperation

enum class nvinfer1::FillOperation : int32_t
strong

枚举填充层可以执行的张量填充操作。

另请参阅
IFillLayer
枚举器
kLINSPACE 

通过其索引的仿射函数计算每个值。例如,假设 IFillLayer 的参数为:

  • 维度 = [3,4]
  • Alpha = 1
  • Beta = [100,10]

输出的元素 [i,j] 为 Alpha + Beta[0]*i + Beta[1]*j。因此,输出矩阵为:

 1  11  21  31

101 111 121 131 201 211 221 231

静态 beta b 隐式地是一个 1D 张量,即 Beta = [b]。

kRANDOM_UNIFORM 

从均匀分布中随机抽取值。

kRANDOM_NORMAL 

从正态分布中随机抽取值。

◆ GatherMode

enum class nvinfer1::GatherMode : int32_t
strong

控制 IGatherLayer 的形式。

另请参阅
IGatherLayer
枚举器
kDEFAULT 

类似于 ONNX Gather。

kELEMENT 

类似于 ONNX GatherElements。

kND 

类似于 ONNX GatherND。

◆ HardwareCompatibilityLevel

enum class nvinfer1::HardwareCompatibilityLevel : int32_t
strong

描述与其他 GPU 架构(而非构建引擎的 GPU 架构)兼容性的要求。

除 kNONE 之外的级别仅适用于在 NVIDIA Ampere 及更高版本 GPU 上构建的引擎。

警告
请注意,与未来硬件的兼容性取决于 CUDA 向前兼容性支持。
枚举器
kNONE 

不要求硬件兼容性与构建引擎的 GPU 架构以外的 GPU 架构兼容。

kAMPERE_PLUS 

要求引擎与 Ampere 和更新的 GPU 兼容。这将限制驱动程序保留和后端内核最大共享内存的组合使用量为 48KiB,可能会减少每个层可用的策略数量,并可能阻止某些融合发生。因此,这可能会降低性能,尤其是对于 tf32 模型。此选项将禁用 cuDNN、cuBLAS 和 cuBLAS LT 作为策略来源。

驱动程序保留的共享内存可以从 cuDeviceGetAttribute(&reservedShmem, CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK) 查询。

◆ InterpolationMode

enum class nvinfer1::InterpolationMode : int32_t
strong

枚举各种插值模式。

枚举器
kNEAREST 

ND (0 < N <= 8) 最近邻调整大小。

kLINEAR 

支持线性 (1D)、双线性 (2D) 和三线性 (3D) 插值。

kCUBIC 

支持双三次 (2D) 插值。

◆ LayerInformationFormat

enum class nvinfer1::LayerInformationFormat : int32_t
strong

IEngineInspector 打印层信息的格式。

另请参阅
IEngineInspector::getLayerInformation(), IEngineInspector::getEngineInformation()
枚举器
kONELINE 

每层打印一行层信息。

kJSON 

以 JSON 格式打印层信息。

◆ LayerType

enum class nvinfer1::LayerType : int32_t
strong

层类的类型值。

另请参阅
ILayer::getType()
枚举器
kCONVOLUTION 

卷积层。

kCAST 

类型转换层。

kACTIVATION 

激活层。

kPOOLING 

池化层。

kLRN 

LRN 层。

kSCALE 

缩放层。

kSOFTMAX 

SoftMax 层。

kDECONVOLUTION 

反卷积层。

kCONCATENATION 

连接层。

kELEMENTWISE 

逐元素层。

kPLUGIN 

插件层。

kUNARY 

UnaryOp 运算层。

kPADDING 

填充层。

kSHUFFLE 

Shuffle 层。

kREDUCE 

Reduce 层。

kTOPK 

TopK 层。

kGATHER 

Gather 层。

kMATRIX_MULTIPLY 

矩阵乘法层。

kRAGGED_SOFTMAX 

Ragged softmax 层。

kCONSTANT 

常量层。

kIDENTITY 

恒等层。

kPLUGIN_V2 

PluginV2 层。

kSLICE 

切片层。

kSHAPE 

形状层。

kPARAMETRIC_RELU 

参数化 ReLU 层。

kRESIZE 

调整大小层。

kTRIP_LIMIT 

循环 Trip limit 层。

kRECURRENCE 

循环 Recurrence 层。

kITERATOR 

循环 Iterator 层。

kLOOP_OUTPUT 

循环输出层。

kSELECT 

Select 层。

kFILL 

填充层。

kQUANTIZE 

量化层。

kDEQUANTIZE 

反量化层。

kCONDITION 

条件层。

kCONDITIONAL_INPUT 

条件输入层。

kCONDITIONAL_OUTPUT 

条件输出层。

kSCATTER 

Scatter 层。

kEINSUM 

Einsum 层。

kASSERTION 

Assertion 层。

kONE_HOT 

OneHot 层。

kNON_ZERO 

NonZero 层。

kGRID_SAMPLE 

Grid sample 层。

kNMS 

NMS 层。

kREVERSE_SEQUENCE 

反向序列层。

kNORMALIZATION 

归一化层。

kPLUGIN_V3 

PluginV3 层。

kSQUEEZE 

Squeeze 层。

kUNSQUEEZE 

Unsqueeze 层。

kCUMULATIVE 

累计层。

kDYNAMIC_QUANTIZE 

动态量化层。

◆ LoopOutput

enum class nvinfer1::LoopOutput : int32_t
strong
枚举器
kLAST_VALUE 

输出值是张量在最后一次迭代的值。

kCONCATENATE 

输出值是张量在每次迭代中的值按前向顺序的连接。

kREVERSE 

输出值是张量在每次迭代中的值按反向顺序的连接。

◆ MatrixOperation

enum class nvinfer1::MatrixOperation : int32_t
strong

枚举了在矩阵乘法之前,可以由 IMatrixMultiplyLayer 对张量执行的操作。

枚举器
kNONE 

如果 x 有两个维度,则将其视为矩阵;如果 x 有两个以上维度,则将其视为矩阵集合,其中最后两个维度是矩阵维度。x 必须至少有两个维度。

kTRANSPOSE 

与 kNONE 类似,但转置矩阵维度。

kVECTOR 

如果 x 有一个维度,则将其视为向量;如果 x 有一个以上维度,则将其视为向量集合。x 必须至少有一个维度。

对于第一个输入张量,当维度为 [M,K] 且使用 MatrixOperation::kVECTOR 时,等效于维度为 [M, 1, K] 且使用 MatrixOperation::kNONE 的张量,即被视为长度为 K 的 M 行向量,或维度为 [M, K, 1] 且使用 MatrixOperation::kTRANSPOSE 的张量。

对于第二个输入张量,当维度为 [M,K] 且使用 MatrixOperation::kVECTOR 时,等效于维度为 [M, K, 1] 且使用 MatrixOperation::kNONE 的张量,即被视为长度为 K 的 M 列向量,或维度为 [M, 1, K] 且使用 MatrixOperation::kTRANSPOSE 的张量。

◆ MemoryPoolType

enum class nvinfer1::MemoryPoolType : int32_t
strong

TensorRT 使用的内存池类型。

另请参阅
IBuilderConfig::setMemoryPoolLimit, IBuilderConfig::getMemoryPoolLimit
枚举器
kWORKSPACE 

kWORKSPACE 由 TensorRT 用于存储操作中的中间缓冲区。默认设置为最大设备内存。设置为较小的值以限制大量使用超过阈值的策略。要更有针对性地移除策略,请使用 IAlgorithmSelector 接口。

kDLA_MANAGED_SRAM 

kDLA_MANAGED_SRAM 是 DLA 使用的快速软件管理 RAM,用于在层内通信。此池的大小必须至少为 4 KiB,并且必须是 2 的幂。默认值为 1 MiB。Orin 每个核心的容量为 1 MiB。

kDLA_LOCAL_DRAM 

kDLA_LOCAL_DRAM 是 DLA 使用的主机 RAM,用于在操作之间共享中间张量数据。此池的大小必须至少为 4 KiB,并且必须是 2 的幂。默认值为 1 GiB。

kDLA_GLOBAL_DRAM 

kDLA_GLOBAL_DRAM 是 DLA 使用的主机 RAM,用于存储执行的权重和元数据。此池的大小必须至少为 4 KiB,并且必须是 2 的幂。默认值为 512 MiB。

kTACTIC_DRAM 

kTACTIC_DRAM 是优化器用于运行策略的设备 DRAM。在主机和设备内存统一的嵌入式设备上,这包括 TensorRT 构建网络直到每次内存分配点所需的所有主机内存。当 cudaGetDeviceProperties.embedded 为 true 时,默认设置为 cudaGetDeviceProperties 报告的 totalGlobalMem 的 75%,否则为 100%。

kTACTIC_SHARED_MEMORY 

kTACTIC_SHARED_MEMORY 定义了驱动程序保留并用于执行 CUDA 内核的共享内存的最大总和。调整此值以限制大量超过指定阈值的策略。默认值为设备最大容量。此值必须小于 1GiB。

驱动程序保留的共享内存可以从 cuDeviceGetAttribute(&reservedShmem, CU_DEVICE_ATTRIBUTE_RESERVED_SHARED_MEMORY_PER_BLOCK) 查询。

更新此标志将覆盖由 HardwareCompatibilityLevel 设置的共享内存限制,默认值为 48KiB - reservedShmem。

◆ NetworkDefinitionCreationFlag

enum class nvinfer1::NetworkDefinitionCreationFlag : int32_t
strong

在网络创建时表达的不可变网络属性列表。NetworkDefinitionCreationFlag 与 createNetworkV2() 一起使用,以指定网络的不可变属性。

另请参阅
IBuilder::createNetworkV2
枚举器
kEXPLICIT_BATCH 

由于网络在 TensorRT 10.0 中始终是“显式批次”,因此被忽略。

\deprecated Deprecated in TensorRT 10.0. 
kSTRONGLY_TYPED 

将网络标记为强类型。网络中的每个张量都具有在网络中定义的数据类型,仅遵循类型推断规则以及输入/运算符注释。不允许设置层精度和层输出类型,网络输出类型将根据输入类型和类型推断规则推断。

◆ OptProfileSelector

enum class nvinfer1::OptProfileSelector : int32_t
strong

当设置或查询优化配置文件参数(例如形状张量输入或动态维度)时,选择我们感兴趣的是这些参数的最小值、最优值还是最大值。最小值和最大值指定运行时支持的允许范围,而最优值用于内核选择。这应该是运行时预期发生的“典型”值。

另请参阅
IOptimizationProfile::setDimensions(), IOptimizationProfile::setShapeValues()
枚举器
kMIN 

这用于设置或获取动态维度等允许的最小值。

kOPT 

这用于设置或获取在优化(内核选择)中使用的值。

kMAX 

这用于设置或获取动态维度等允许的最大值。

◆ PaddingMode

enum class nvinfer1::PaddingMode : int32_t
strong

枚举要在卷积、反卷积和池化层中执行的填充模式,如果也使用了 setPaddingMode() 和 setPrePadding(),则填充模式优先。

有两种填充样式:EXPLICIT 和 SAME,每种样式都有两种变体。EXPLICIT 样式确定是否使用最终采样位置。SAME 样式确定填充中的不对称性是在前填充还是后填充上。

Shorthand
I = dimensions of input image.
B = prePadding, before the image data.
A = postPadding, after the image data.
P = delta between input and output
S = stride
F = filter
O = output
D = dilation
M = I + B + A ; The image data plus any padding
DK = 1 + D * (F - 1)

Formulas for Convolution

  • EXPLICIT_ROUND_DOWN
    O = floor((M - DK) / S) + 1
  • EXPLICIT_ROUND_UP
    O = ceil((M - DK) / S) + 1
  • SAME_UPPER
    O = ceil(I / S)
    P = floor((I - 1) / S) * S + DK - I;
    B = floor(P / 2)
    A = P - B
  • SAME_LOWER
    O = ceil(I / S)
    P = floor((I - 1) / S) * S + DK - I;
    A = floor(P / 2)
    B = P - A

Formulas for Deconvolution

  • EXPLICIT_ROUND_DOWN
  • EXPLICIT_ROUND_UP
    O = (I - 1) * S + DK - (B + A)
  • SAME_UPPER
    O = min(I * S, (I - 1) * S + DK)
    P = max(DK - S, 0)
    B = floor(P / 2)
    A = P - B
  • SAME_LOWER
    O = min(I * S, (I - 1) * S + DK)
    P = max(DK - S, 0)
    A = floor(P / 2)
    B = P - A

Formulas for Pooling

  • EXPLICIT_ROUND_DOWN
    O = floor((M - F) / S) + 1
  • EXPLICIT_ROUND_UP
    O = ceil((M - F) / S) + 1
  • SAME_UPPER
    O = ceil(I / S)
    P = floor((I - 1) / S) * S + F - I;
    B = floor(P / 2)
    A = P - B
  • SAME_LOWER
    O = ceil(I / S)
    P = floor((I - 1) / S) * S + F - I;
    A = floor(P / 2)
    B = P - A

Pooling Example 1

Given I = {6, 6}, B = {3, 3}, A = {2, 2}, S = {2, 2}, F = {3, 3}. What is O?
(B, A can be calculated for SAME_UPPER and SAME_LOWER mode)
  • EXPLICIT_ROUND_DOWN
    Computation
    M = {6, 6} + {3, 3} + {2, 2} ==> {11, 11}
    O ==> floor((M - F) / S) + 1
    ==> floor(({11, 11} - {3, 3}) / {2, 2}) + {1, 1}
    ==> floor({8, 8} / {2, 2}) + {1, 1}
    ==> {5, 5}
  • EXPLICIT_ROUND_UP
    Computation
    M = {6, 6} + {3, 3} + {2, 2} ==> {11, 11}
    O ==> ceil((M - F) / S) + 1
    ==> ceil(({11, 11} - {3, 3}) / {2, 2}) + {1, 1}
    ==> ceil({8, 8} / {2, 2}) + {1, 1}
    ==> {5, 5}
    The sample points are {0, 2, 4, 6, 8} in each dimension.
  • SAME_UPPER
    Computation
    I = {6, 6}
    S = {2, 2}
    O = ceil(I / S) = {3, 3}
    P = floor((I - 1) / S) * S + F - I
    ==> floor(({6, 6} - {1, 1}) / {2, 2}) * {2, 2} + {3, 3} - {6, 6}
    ==> {4, 4} + {3, 3} - {6, 6}
    ==> {1, 1}
    B = floor({1, 1} / {2, 2})
    ==> {0, 0}
    A = {1, 1} - {0, 0}
    ==> {1, 1}
  • SAME_LOWER
    Computation
    I = {6, 6}
    S = {2, 2}
    O = ceil(I / S) = {3, 3}
    P = floor((I - 1) / S) * S + F - I
    ==> {1, 1}
    A = floor({1, 1} / {2, 2})
    ==> {0, 0}
    B = {1, 1} - {0, 0}
    ==> {1, 1}
    The sample pointers are {0, 2, 4} in each dimension. SAMPLE_UPPER has {O0, O1, O2, pad} in output in each dimension. SAMPLE_LOWER has {pad, O0, O1, O2} in output in each dimension.

池化示例 2

给定 I = {6, 6}, B = {3, 3}, A = {3, 3}, S = {2, 2}, F = {3, 3}。O 是什么?
枚举器
kEXPLICIT_ROUND_DOWN 

使用显式填充,向下舍入输出大小。

kEXPLICIT_ROUND_UP 

使用显式填充,向上舍入输出大小。

kSAME_UPPER 

使用 SAME 填充,其中 prePadding <= postPadding。

kSAME_LOWER 

使用 SAME 填充,其中 prePadding >= postPadding。

◆ PluginCapabilityType

enum class nvinfer1::PluginCapabilityType : int32_t
strong

枚举 IPluginV3 对象可能具有的不同功能类型。

枚举器
kCORE 

核心功能。每个 IPluginV3 对象都必须具有此功能。

kBUILD 

构建功能。提供给 TensorRT 构建阶段的 IPluginV3 对象必须具有此功能。

kRUNTIME 

运行时功能。提供给 TensorRT 构建和执行阶段的 IPluginV3 对象必须具有此功能。

◆ PluginCreatorVersion

enum class nvinfer1::PluginCreatorVersion : int32_t
strong

枚举以标识插件创建器的版本。

枚举器
kV1 

IPluginCreator.

kV1_PYTHON 

基于 IPluginCreator 的 Python 插件创建器。

◆ PluginFieldType

enum class nvinfer1::PluginFieldType : int32_t
strong

自定义层的可能字段类型。

枚举器
kFLOAT16 

FP16 field type.

kFLOAT32 

FP32 field type.

kFLOAT64 

FP64 field type.

kINT8 

INT8 field type.

kINT16 

INT16 field type.

kINT32 

INT32 field type.

kCHAR 

char field type.

kDIMS 

nvinfer1::Dims field type.

kUNKNOWN 

Unknown field type.

kBF16 

BF16 field type.

kINT64 

INT64 field type.

kFP8 

FP8 field type.

kINT4 

INT4 field type.

kFP4 

FP4 field type.

◆ PluginVersion

enum class nvinfer1::PluginVersion : uint8_t
strong
枚举器
kV2 

IPluginV2.

kV2_EXT 

IPluginV2Ext.

kV2_IOEXT 

IPluginV2IOExt.

kV2_DYNAMICEXT 

IPluginV2DynamicExt.

kV2_DYNAMICEXT_PYTHON 

IPluginV2DynamicExt-based Python plugins.

◆ PoolingType

enum class nvinfer1::PoolingType : int32_t
strong

在池化层中执行的池化类型。

枚举器
kMAX 

元素最大值。

kAVERAGE 

元素平均值。如果张量被填充,则计数包括填充。

kMAX_AVERAGE_BLEND 

最大池化和平均池化之间的混合:(1-blendFactor)*maxPool + blendFactor*avgPool。

◆ PreviewFeature

enum class nvinfer1::PreviewFeature : int32_t
strong

定义预览功能。

预览功能已经过全面测试,但稳定性不如 TensorRT 中的其他功能。它们作为可选功能提供至少一个版本。

枚举器
kPROFILE_SHARING_0806 

允许跨执行上下文共享优化配置文件。

已弃用
在 TensorRT 10.0 中已弃用。此标志的默认值为启用,且无法更改。
kALIASED_PLUGIN_IO_10_03 

当使用 IPluginV3OneBuildV2 时,允许插件 I/O 被别名化

◆ ProfilingVerbosity

enum class nvinfer1::ProfilingVerbosity : int32_t
strong

在 NVTX 注释和 IEngineInspector 中公开的层信息的详细级别列表。

另请参阅
IBuilderConfig::setProfilingVerbosity(), IBuilderConfig::getProfilingVerbosity(), IEngineInspector
枚举器
kLAYER_NAMES_ONLY 

仅打印层名称。这是默认设置。

kNONE 

不打印任何层信息。

kDETAILED 

打印详细的层信息,包括层名称和层参数。

◆ QuantizationFlag

enum class nvinfer1::QuantizationFlag : int32_t
strong

用于将网络量化为 int8 的有效标志列表。

另请参阅
IBuilderConfig::setQuantizationFlag(), IBuilderConfig::getQuantizationFlag()
已弃用
在 TensorRT 10.1 中已弃用。被显式量化取代。
枚举器
kCALIBRATE_BEFORE_FUSION 

在层融合之前运行 int8 校准过程。仅对 IInt8LegacyCalibratorIInt8EntropyCalibrator 有效。构建器始终在层融合之前为 IInt8MinMaxCalibratorIInt8EntropyCalibrator2 运行 int8 校准过程。默认情况下禁用。

◆ ReduceOperation

enum class nvinfer1::ReduceOperation : int32_t
strong

枚举 Reduce 层可以执行的 reduce 操作。

The table shows the result of reducing across an empty volume of a given type.

运算kFLOAT and kHALFkINT32kINT8
kSUM0 0 0
kPROD1 1 1
kMAXnegative infinityINT_MIN-128
kMINpositive infinityINT_MAX127
kAVGNaN0 -128

The current version of TensorRT usually performs reduction for kINT8 via kFLOAT or kHALF. The kINT8 values show the quantized representations of the floating-point values.

枚举器
kSUM 
kPROD 
kMAX 
kMIN 
kAVG 

◆ ResizeCoordinateTransformation

enum class nvinfer1::ResizeCoordinateTransformation : int32_t
strong

调整大小的坐标变换函数。

另请参阅
IResizeLayer::setCoordinateTransformation()
枚举器
kALIGN_CORNERS 

将张量中的每个值都视为一个单位体积,坐标是该体积内的点。坐标点在下图中绘制为星号 (*),多个值的范围具有长度。定义 x_origin 为输入张量中 x 轴的坐标,x_resized 为输出张量中 x 轴的坐标,length_origin 为输入张量在 x 轴上的长度,length_resize 为输出张量在 x 轴上的长度。

|<--------------length---------->|
|    0     |    1     |    2     |    3     |
*          *          *          *

x_origin = x_resized * (length_origin - 1) / (length_resize - 1)
kASYMMETRIC 

|<-----------—length------------------—>| | 0 | 1 | 2 | 3 |


x_origin = x_resized * (length_origin / length_resize)

kHALF_PIXEL 

|<-----------—length------------------—>| | 0 | 1 | 2 | 3 |


x_origin = (x_resized + 0.5) * (length_origin / length_resize) - 0.5

◆ ResizeRoundMode

enum class nvinfer1::ResizeRoundMode : int32_t
strong

最近邻调整大小的舍入模式。

另请参阅
IResizeLayer::setNearestRounding()
枚举器
kHALF_UP 

四舍五入。

kHALF_DOWN 

五舍六入。

kFLOOR 

向下舍入。

kCEIL 

向上舍入。

◆ ResizeSelector

enum class nvinfer1::ResizeSelector : int32_t
strong

当调整大小为单像素输出时的坐标选择器。

另请参阅
IResizeLayer::setSelectorForSinglePixel()
枚举器
kFORMULA 

使用公式映射原始索引。

kUPPER 

选择左上角像素。

◆ RuntimePlatform

enum class nvinfer1::RuntimePlatform : int32_t
strong

描述 TensorRT 引擎执行的预期运行时平台(操作系统和 CPU 架构)。当目标运行时平台与构建平台不同时,TensorRT 提供对跨平台引擎兼容性的支持。

Note
The cross-platform engine will not be able to run on the host platform it was built on.
When building a cross-platform engine that also requires version forward compatibility, kEXCLUDE_LEAN_RUNTIME must be set to exclude the target platform lean runtime.
The cross-platform engine might have performance differences compared to the natively built engine on the target platform.
另请参阅
IBuilderConfig::setRuntimePlatform(), IBuilderConfig::getRuntimePlatform()
枚举器
kSAME_AS_BUILD 

对跨平台兼容性没有要求。TensorRT 构建的引擎只能在构建它的相同平台上运行。

kWINDOWS_AMD64 

将引擎执行的目标平台指定为 Windows AMD64 系统。目前,只有在 Linux AMD64 平台上构建引擎时才能启用此标志。

◆ SampleMode

enum class nvinfer1::SampleMode : int32_t
strong

控制 ISliceLayer 和 IGridSample 如何处理越界坐标。

另请参阅
ISliceLayer 和 IGridSample
枚举器
kSTRICT_BOUNDS 

当坐标越界时,报错。

kWRAP 

坐标周期性地环绕。

kCLAMP 

越界索引被钳制到边界内。

kFILL 

当坐标越界时,使用填充输入值。

kREFLECT 

坐标反射。反射轴是外围像素的中间,反射在填充区域内无限重复。重复单个像素的值,并为零像素抛出错误。

◆ ScaleMode

enum class nvinfer1::ScaleMode : int32_t
strong

控制如何在 Scale 层中应用 shift、scale 和 power。

另请参阅
IScaleLayer
枚举器
kUNIFORM 

在张量的所有元素上使用相同的系数。

kCHANNEL 

逐通道系数。

kELEMENTWISE 

逐元素系数。

◆ ScatterMode

enum class nvinfer1::ScatterMode : int32_t
strong

IScatterLayer 的控制形式。

另请参阅
IScatterLayer
枚举器
kELEMENT 

类似于 ONNX ScatterElements。

kND 

类似于 ONNX ScatterND。

◆ SeekPosition

enum class nvinfer1::SeekPosition : int32_t
strong

控制 IStreamReaderV2 的查找模式。

枚举器
kSET 

从文件开头开始。

kCUR 

从文件当前位置开始。

kEND 

从文件末尾开始。

◆ SerializationFlag

enum class nvinfer1::SerializationFlag : int32_t
strong

引擎在序列化字节时可以启用的有效标志列表。

另请参阅
ISerializationConfig::setFlags(), ISerializationConfig::getFlags()
枚举器
kEXCLUDE_WEIGHTS 

排除可以重新拟合的权重。

kEXCLUDE_LEAN_RUNTIME 

排除精简运行时。

◆ TacticSource

enum class nvinfer1::TacticSource : int32_t
strong

TensorRT 的策略来源列表。

另请参阅
TacticSources, IBuilderConfig::setTacticSources(), IBuilderConfig::getTacticSources()
枚举器
kCUBLAS 

cuBLAS 策略。默认禁用。

Note
禁用 kCUBLAS 将导致传递给插件的 cuBLAS 句柄在 attachToContext 中为空。
已弃用
在 TensorRT 10.0 中已弃用。
kCUBLAS_LT 

cuBLAS LT 策略。默认禁用。

已弃用
在 TensorRT 9.0 中已弃用。
kCUDNN 

cuDNN 策略。默认禁用。

Note
禁用 kCUDNN 将导致传递给插件的 cuDNN 句柄在 attachToContext 中为空。
已弃用
在 TensorRT 10.0 中已弃用。
kEDGE_MASK_CONVOLUTIONS 

启用使用边缘掩码表实现的卷积策略。这些策略通过消耗与输入大小成比例的额外内存空间来权衡内存以换取性能。默认启用。

kJIT_CONVOLUTIONS 

启用使用源代码 JIT 融合实现的卷积策略。启用此选项时,引擎构建时间可能会增加。默认启用。

◆ TempfileControlFlag

enum class nvinfer1::TempfileControlFlag : int32_t
strong

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

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

枚举器
kALLOW_IN_MEMORY_FILES 

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

kALLOW_TEMPORARY_FILES 

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

\see IRuntime::setTemporaryDirectory() 

◆ TensorFormat

enum class nvinfer1::TensorFormat : int32_t
strong

输入/输出张量的格式。

此枚举被插件和网络 I/O 张量使用。

另请参阅
IPluginV2::supportsFormat(), safe::ICudaEngine::getBindingFormat()

许多格式是向量主序向量次序。这些格式指定一个向量维度每个向量的标量数。例如,假设张量具有维度 [M,N,C,H,W],向量维度为 C,并且每个向量有 V 个标量。

  • 向量主序格式将向量化维度拆分为内存布局中的两个轴。向量化维度被长度为 ceil(C/V) 的轴和一个长度为 V 的新维度替换。对于示例张量,内存布局等效于维度为 [M][N][ceil(C/V)][H][W][V] 的数组。张量坐标 (m,n,c,h,w) 映射到数组位置 [m][n][c/V][h][w][c%V]。
  • 向量次序格式将向量化维度移动到成为内存布局中的最后一个轴。对于示例张量,内存布局等效于维度为 [M][N][H][W][ceil(C/V)*V] 的数组。张量坐标 (m,n,c,h,w) 映射到数组位置下标 [m][n][h][w][c]。

在引用“每个元素的组件数”的接口中,这就是上面的 V 值。

有关数据格式的更多信息,请参阅 TensorRT 开发者指南中的主题“数据格式描述”。 https://docs.nvda.net.cn/deeplearning/tensorrt/developer-guide/index.html#data-format-desc

枚举器
kLINEAR 

内存布局类似于 C 或 C++ 中的数组。每个维度的步幅是其后维度的乘积。最后一个维度的步幅为 1。

对于 DLA 使用,张量大小限制为 C、H、W 在 [1,8192] 范围内。

kCHW2 

向量主序格式,每个向量有两个标量。向量维度是倒数第三个。

此格式需要 FP16 和至少三个维度。

kHWC8 

向量次序格式,每个向量有八个标量。向量维度是倒数第三个。此格式需要 FP16 或 BF16 和至少三个维度。

kCHW4 

向量主序格式,每个向量有四个标量。向量维度是倒数第三个。

此格式需要 INT8 或 FP16 和至少三个维度。对于 INT8,向量维度的长度必须是构建时常量。

已弃用的用法

如果在 DLA 上运行,此格式可用于加速,但需要注意的是 C 必须小于或等于 4。如果用作 DLA 输入且未指定构建选项 kGPU_FALLBACK,则需要满足 DLA 格式的行步幅要求。在 Orin 上,列步幅(以字节为单位)必须是 64 的倍数。

kCHW16 

向量主序格式,每个向量有 16 个标量。向量维度是倒数第三个。

此格式需要 FP16 和至少三个维度。

对于 DLA 使用,此格式映射到 FP16 的原生特征格式,并且张量大小限制为 C、H、W 在 [1,8192] 范围内。

kCHW32 

向量主序格式,每个向量有 32 个标量。向量维度是倒数第三个。

此格式需要至少三个维度。

对于 DLA 使用,此格式映射到 INT8 的原生特征格式,并且张量大小限制为 C、H、W 在 [1,8192] 范围内。

kDHWC8 

向量次序格式,每个向量有八个标量。向量维度是倒数第四个。

此格式需要 FP16 或 BF16 和至少四个维度。

kCDHW32 

向量主序格式,每个向量有 32 个标量。向量维度是倒数第四个。

此格式需要 FP16 或 INT8 和至少四个维度。

kHWC 

向量次序格式,其中通道维度是倒数第三个且未填充。

This format requires either FP32, FP16, UINT8, INT64 or BF16 and at least three dimensions. 
kDLA_LINEAR 

DLA 平面格式。对于维度为 {N, C, H, W} 的张量,W 轴始终具有单位步幅。沿 H 轴步进的步幅向上舍入为 64 字节。

内存布局等效于 C 数组,其维度为 [N][C][H][roundUp(W, 64/elementSize)],其中 elementSize 对于 FP16 为 2,对于 Int8 为 1,张量坐标 (n, c, h, w) 映射到数组下标 [n][c][h][w]。

kDLA_HWC4 

DLA 图像格式。对于维度为 {N, C, H, W} 的张量,C 轴始终具有单位步幅。在 Orin 上,沿 H 轴步进的步幅向上舍入为 64 字节。C 只能为 1、3 或 4。如果 C == 1,它将映射到灰度格式。如果 C == 3 或 C == 4,它将映射到彩色图像格式。并且如果 C == 3,则沿 W 轴步进的步幅需要填充为 4 个元素。

当 C 为 {1, 3, 4} 时,则 C' 分别为 {1, 4, 4},在 Orin 上,内存布局等效于 C 数组,其维度为 [N][H][roundUp(W, 64/C'/elementSize)][C'],其中 elementSize 对于 FP16 为 2,对于 Int8 为 1。张量坐标 (n, c, h, w) 映射到数组下标 [n][h][w][c]。

kHWC16 

向量次序格式,每个向量有 16 个标量。向量维度是倒数第三个。

这需要 FP16、INT8 或 FP8 和至少三个维度。

kDHWC 

向量次序格式,每个向量有一个标量。向量维度是倒数第四个。

此格式需要 FP32 和至少四个维度。

◆ TensorIOMode

enum class nvinfer1::TensorIOMode : int32_t
strong

张量 IO 模式的定义。

枚举器
kNONE 

张量既不是输入也不是输出。

kINPUT 

张量是引擎的输入。

kOUTPUT 

张量是引擎的输出。

◆ TensorLocation

enum class nvinfer1::TensorLocation : int32_t
strong

张量数据存储位置,设备或主机。

枚举器
kDEVICE 

数据存储在设备上。

kHOST 

数据存储在主机上。

◆ TensorRTPhase

enum class nvinfer1::TensorRTPhase : int32_t
strong

指示 TensorRT 的操作阶段。

枚举器
kBUILD 

TensorRT 的构建阶段。

kRUNTIME 

TensorRT 的执行阶段。

◆ TilingOptimizationLevel

enum class nvinfer1::TilingOptimizationLevel : int32_t
strong

定义 Tiling 的优化级别。

如果设置了非零级别,TensorRT 将尝试对片上缓存进行 tiling 优化。此级别决定了 TensorRT 为找到更好的性能解决方案所付出的努力程度。

枚举器
kNONE 

不应用任何 tiling 策略。

kFAST 

使用快速算法和基于启发式的策略。略微增加引擎构建时间。

kMODERATE 

增加搜索空间并使用混合启发式/分析策略。适度增加引擎构建时间。

kFULL 

进一步扩大搜索空间。显著增加引擎构建时间。

◆ TopKOperation

enum class nvinfer1::TopKOperation : int32_t
strong

枚举 TopK 层可以执行的操作。

枚举器
kMAX 

元素的最大值。

kMIN 

元素的最小值。

◆ TripLimit

enum class nvinfer1::TripLimit : int32_t
strong
枚举器
kCOUNT 

张量是 kINT32 或 kINT64 类型的标量,包含 trip 计数。

kWHILE 

张量是 kBOOL 类型的标量。当值为 false 时,循环终止。

◆ UnaryOperation

enum class nvinfer1::UnaryOperation : int32_t
strong

枚举 Unary 层可以执行的一元运算。

kNOT 操作的输入必须是 DataType::kBOOL

kSIGN 和 kABS 操作的输入必须是浮点类型、DataType::kINT8DataType::kINT32DataType::kINT64

kISINF 操作的输入必须是浮点类型。

所有其他操作的输入必须是浮点类型。

另请参阅
IUnaryLayer
枚举器
kEXP 

指数运算。

kLOG 

对数(以 e 为底)。

kSQRT 

平方根。

kRECIP 

倒数。

kABS 

绝对值。

kNEG 

取反。

kSIN 

正弦。

kCOS 

余弦。

kTAN 

正切。

kSINH 

双曲正弦。

kCOSH 

双曲余弦。

kASIN 

反正弦。

kACOS 

反余弦。

kATAN 

反正切。

kASINH 

反双曲正弦。

kACOSH 

反双曲余弦。

kATANH 

反双曲正切。

kCEIL 

向上取整。

kFLOOR 

向下取整。

kERF 

高斯误差函数。

kNOT 

逻辑非。

kSIGN 

符号函数,如果输入 > 0,输出 1;如果输入 < 0,输出 -1;如果输入 == 0,输出 0。

kROUND 

对于浮点数据类型,四舍五入到最接近的偶数。

kISINF 

如果浮点数据类型的输入值等于 +/- 无穷大,则返回 true。

kISNAN 

如果浮点数据类型的输入值是 NaN,则返回 true。

◆ WeightsRole

enum class nvinfer1::WeightsRole : int32_t
strong

层如何使用特定的 Weights

IScaleLayer 的 power weights 被省略。不支持重新拟合这些权重。

枚举器
kKERNEL 

IConvolutionLayerIDeconvolutionLayer 的内核

kBIAS 

IConvolutionLayerIDeconvolutionLayer 的偏置

kSHIFT 

IScaleLayer 的 shift 部分

kSCALE 

IScaleLayer 的 scale 部分

kCONSTANT 

IConstantLayer 的权重

kANY 

任何其他权重角色。

函数文档

◆ EnumMax()

template<typename T >
constexpr int32_t nvinfer1::EnumMax ( )
constexprnoexcept

枚举类型中的最大元素数。

◆ EnumMax< BoundingBoxFormat >()

template<>
constexpr int32_t nvinfer1::EnumMax< BoundingBoxFormat > ( )
inlineconstexprnoexcept

BoundingBoxFormat 枚举中的最大元素数。

另请参阅
BoundingBoxFormat

◆ EnumMax< BuilderFlag >()

template<>
constexpr int32_t nvinfer1::EnumMax< BuilderFlag > ( )
inlineconstexprnoexcept

BuilderFlag 枚举中的最大构建器标志数。

另请参阅
BuilderFlag

◆ EnumMax< CalibrationAlgoType >()

template<>
constexpr int32_t nvinfer1::EnumMax< CalibrationAlgoType > ( )
inlineconstexprnoexcept

CalibrationAlgoType 枚举中的最大元素数。

另请参阅
DataType

◆ EnumMax< DeviceType >()

template<>
constexpr int32_t nvinfer1::EnumMax< DeviceType > ( )
inlineconstexprnoexcept

DeviceType 枚举中的最大元素数。

另请参阅
DeviceType

◆ EnumMax< DimensionOperation >()

template<>
constexpr int32_t nvinfer1::EnumMax< DimensionOperation > ( )
inlineconstexprnoexcept

DimensionOperation 枚举中的最大元素数。

另请参阅
DimensionOperation

◆ EnumMax< ExecutionContextAllocationStrategy >()

template<>
constexpr int32_t nvinfer1::EnumMax< ExecutionContextAllocationStrategy > ( )
inlineconstexprnoexcept

ExecutionContextAllocationStrategy 枚举中的最大内存分配策略数。

另请参阅
ExecutionContextAllocationStrategy

◆ EnumMax< FillOperation >()

template<>
constexpr int32_t nvinfer1::EnumMax< FillOperation > ( )
inlineconstexprnoexcept

FillOperation 枚举中的最大元素数。

另请参阅
FillOperation

◆ EnumMax< GatherMode >()

template<>
constexpr int32_t nvinfer1::EnumMax< GatherMode > ( )
inlineconstexprnoexcept

GatherMode 枚举中的最大元素数。

另请参阅
GatherMode

◆ EnumMax< LayerInformationFormat >()

template<>
constexpr int32_t nvinfer1::EnumMax< LayerInformationFormat > ( )
inlineconstexprnoexcept

LayerInformationFormat 枚举中的最大层信息格式数。

另请参阅
LayerInformationFormat

◆ EnumMax< LayerType >()

template<>
constexpr int32_t nvinfer1::EnumMax< LayerType > ( )
inlineconstexprnoexcept

LayerType 枚举中的最大元素数。

另请参阅
LayerType

◆ EnumMax< LoopOutput >()

template<>
constexpr int32_t nvinfer1::EnumMax< LoopOutput > ( )
inlineconstexprnoexcept

LoopOutput 枚举中的最大元素数。

另请参阅
DataType

◆ EnumMax< MatrixOperation >()

template<>
constexpr int32_t nvinfer1::EnumMax< MatrixOperation > ( )
inlineconstexprnoexcept

MatrixOperation 枚举中的最大元素数。

另请参阅
DataType

◆ EnumMax< MemoryPoolType >()

template<>
constexpr int32_t nvinfer1::EnumMax< MemoryPoolType > ( )
inlineconstexprnoexcept

MemoryPoolType 枚举中的最大内存池类型数。

另请参阅
MemoryPoolType

◆ EnumMax< NetworkDefinitionCreationFlag >()

template<>
constexpr int32_t nvinfer1::EnumMax< NetworkDefinitionCreationFlag > ( )
inlineconstexprnoexcept

NetworkDefinitionCreationFlag 枚举中的最大元素数。

另请参阅
NetworkDefinitionCreationFlag

◆ EnumMax< OptProfileSelector >()

template<>
constexpr int32_t nvinfer1::EnumMax< OptProfileSelector > ( )
inlineconstexprnoexcept

OptProfileSelector 枚举的不同值的数量。

另请参阅
OptProfileSelector

◆ EnumMax< ProfilingVerbosity >()

template<>
constexpr int32_t nvinfer1::EnumMax< ProfilingVerbosity > ( )
inlineconstexprnoexcept

ProfilingVerbosity 枚举中的最大配置文件详细程度级别数。

另请参阅
ProfilingVerbosity

◆ EnumMax< QuantizationFlag >()

template<>
constexpr int32_t nvinfer1::EnumMax< QuantizationFlag > ( )
inlineconstexprnoexcept

QuantizationFlag 枚举中的最大量化标志数。

另请参阅
QuantizationFlag

◆ EnumMax< ReduceOperation >()

template<>
constexpr int32_t nvinfer1::EnumMax< ReduceOperation > ( )
inlineconstexprnoexcept

ReduceOperation 枚举中的最大元素数。

另请参阅
ReduceOperation

◆ EnumMax< SampleMode >()

template<>
constexpr int32_t nvinfer1::EnumMax< SampleMode > ( )
inlineconstexprnoexcept

SampleMode 枚举中的最大元素数。

另请参阅
SampleMode

◆ EnumMax< ScaleMode >()

template<>
constexpr int32_t nvinfer1::EnumMax< ScaleMode > ( )
inlineconstexprnoexcept

ScaleMode 枚举中的最大元素数。

另请参阅
ScaleMode

◆ EnumMax< ScatterMode >()

template<>
constexpr int32_t nvinfer1::EnumMax< ScatterMode > ( )
inlineconstexprnoexcept

ScatterMode 枚举中的最大元素数。

另请参阅
ScatterMode

◆ EnumMax< SerializationFlag >()

template<>
constexpr int32_t nvinfer1::EnumMax< SerializationFlag > ( )
inlineconstexprnoexcept

SerializationFlag 枚举中序列化标志的最大数量。

另请参阅
SerializationFlag

◆ EnumMax< TacticSource >()

template<>
constexpr int32_t nvinfer1::EnumMax< TacticSource > ( )
inlineconstexprnoexcept

TacticSource 枚举中策略来源的最大数量。

另请参阅
TacticSource

◆ EnumMax< TempfileControlFlag >()

template<>
constexpr int32_t nvinfer1::EnumMax< TempfileControlFlag > ( )
inlineconstexprnoexcept

TempfileControlFlag 枚举中元素的最大数量。

另请参阅
TempfileControlFlag

◆ EnumMax< TopKOperation >()

template<>
constexpr int32_t nvinfer1::EnumMax< TopKOperation > ( )
inlineconstexprnoexcept

TopKOperation 枚举中元素的最大数量。

另请参阅
TopKOperation

◆ EnumMax< TripLimit >()

template<>
constexpr int32_t nvinfer1::EnumMax< TripLimit > ( )
inlineconstexprnoexcept

TripLimit 枚举中元素的最大数量。

另请参阅
DataType

◆ EnumMax< UnaryOperation >()

template<>
constexpr int32_t nvinfer1::EnumMax< UnaryOperation > ( )
inlineconstexprnoexcept

UnaryOperation 枚举中元素的最大数量。

另请参阅
UnaryOperation

◆ EnumMax< WeightsRole >()

template<>
constexpr int32_t nvinfer1::EnumMax< WeightsRole > ( )
inlineconstexprnoexcept

WeightsRole 枚举中元素的最大数量。

另请参阅
WeightsRole

◆ getBuilderPluginRegistry()

nvinfer1::IPluginRegistry * nvinfer1::getBuilderPluginRegistry ( nvinfer1::EngineCapability  capability)
noexcept

返回用于构建标准引擎的插件注册表;如果注册表不存在,则返回 nullptr。

如果输入参数不是 EngineCapability::kSTANDARD,也返回 nullptr。 EngineCapability::kSTANDARDEngineCapability::kSAFETY 引擎功能具有不同的插件注册表。当构建安全引擎时,请使用 nvinfer1::getBuilderSafePluginRegistry()。 使用注册表中的 IPluginRegistry::registerCreator 注册插件。 在与特定引擎功能关联的注册表中注册的插件,仅在该引擎功能的引擎构建时可用。

没有 EngineCapability::kDLA_STANDALONE 的插件注册表。

◆ getBuilderSafePluginRegistry()

nvinfer1::safe::IPluginRegistry * nvinfer1::getBuilderSafePluginRegistry ( nvinfer1::EngineCapability  capability)
noexcept

返回用于构建安全引擎的插件注册表;如果注册表不存在,则返回 nullptr。

如果输入参数不是 EngineCapability::kSAFETY,也返回 nullptr。 当构建标准引擎时,请使用 nvinfer1::getBuilderPluginRegistry()。 使用注册表中的 safe::IPluginRegistry::registerCreator 注册插件。

  版权所有 © 2024 英伟达公司
  隐私政策 | 管理我的隐私 | 请勿出售或分享我的数据 | 服务条款 | 辅助功能 | 公司政策 | 产品安全 | 联系我们