pytorch 实例归一化、批量归一化(训练)以及 onnx MVN 和 openvino MVN

问题描述 投票:0回答:0

onnx中Instance normalization和MVN以及Batch normalization(training mode and batch_size=1)有什么区别?

我的 pytorch 模型目前正在使用实例归一化,但我的最终范围是通过 onnx 转换 Openvino(版本 2020.3)中的模型。与此规范化不兼容(参见下面的链接),仅支持批量规范化(BN)。

如果批量大小为 1 且训练模式打开(

here),BN 与实例归一化的工作方式相同。 onnx 中的转换有效,输出是相同的,但 Openvino 很难处理这个 training_mode=on 参数,它只是在导出图中某处写入的虚拟特征。

我看到有机会改用 MVN(nx-openvino herehere 函数上的兼容性操作,across_channels=false)。 Onnx 似乎支持此操作(here)但我不知道如何在 pytorch 中使用/包含它,它将在 onnx 中转换并最终由 openvino 支持。我不是 openvino 的专家,也不是 onnx,但这就是生活的方式:)。

这个 MVN 是否可以与 pytorch 中的实例规范化相媲美?重新训练模型后,我会得到相同的输出吗?

感谢您的帮助

pytorch normalization onnx batch-normalization openvino
© www.soinside.com 2019 - 2024. All rights reserved.