自由维度覆盖
ONNX 模型通过自由维度支持动态输入形状。自由维度允许模型在该维度上接受不同大小的输入。例如,输入形状为 [batch, 3, height, width] 的模型可以处理任意数量、任意尺寸的 RGB 图像(3 个通道)。
虽然这很灵活,但当你的应用使用一致的输入尺寸时,可以通过固定这些维度来优化性能。例如,如果你的 WebNN 应用始终只处理单张 224×224 的图像,就可以使用 freeDimensionOverrides 选项,将自由维度从 [batch, 3, height, width] 覆盖为 [1, 3, 224, 224]:
*.js
const sessionOptions = {
freeDimensionOverrides: {
batch: 1,
height: 224,
width: 224
}
};该配置会把输入维度锁定为特定值,从而有可能提升模型性能。
符号维度

没有符号维度的示例模型

带有三个符号维度的示例模型,名称分别为
batch_size、height 和 widthWebNN 执行提供程序需要通过 freeDimensionOverrides 为所有符号维度指定固定的整数值。
其他资源
Last updated on