LearningModelSessionOptions.BatchSizeOverride 属性

定义

一个数值,指定目标模型的恒定批大小替代值。

public:
 property unsigned int BatchSizeOverride { unsigned int get(); void set(unsigned int value); };
uint32_t BatchSizeOverride();

void BatchSizeOverride(uint32_t value);
public uint BatchSizeOverride { get; set; }
var uInt32 = learningModelSessionOptions.batchSizeOverride;
learningModelSessionOptions.batchSizeOverride = uInt32;
Public Property BatchSizeOverride As UInteger

属性值

UInt32

unsigned int

uint32_t

模型输入的常量批大小是调用 Bind 所预期的特征值。 BatchSizeOverride 的默认值为 1,表示静态批大小为 1。

注解

BatchSizeOverride 选项允许模型编译器在设置 LearningModelSession 时使用恒定的批大小性能优化。

通过设置 BatchSizeOverride 选项,会话的所有输入将限制其批大小以匹配指定的 BatchSizeOverride 值。

BatchSizeOverride = 0 指示模型中存在的批大小应保持不变。

BatchSizeOverride> 0 表示将用于替代模型批大小和优化评估的批大小。

如果模型评估始终使用相同的批大小进行,可以通过将 BatchSizeOverride 设置为预期的批大小来提高性能。

设置 BatchSizeOverride 参数会将模型的输入批大小限制为恒定的批大小,并启用模型编译器优化,从而提高对 Evaluate 的调用的运行时性能。

如果推理模型设计为接受任何批大小,则可以使用 BatchSizeOverride 参数将批处理输入限制为恒定批大小。

但是,如果推理模型的设计具有恒定的批大小, 则 BatchSizeOverride 参数必须与模型中定义的常量批大小匹配。

ONNX 模型使用DATA_BATCH维度表示来描述输入张量特征的批处理维度。 这对应于更常用的张量格式表示法 NCHW 中的 N 维度。

适用于