【问题标题】:How to merge two ONNX deep learning models如何合并两个 ONNX 深度学习模型
【发布时间】:2020-11-27 23:48:48
【问题描述】:

我有两个 ONNX 格式的模型。两种模型相似(都是预训练的深度学习模型,例如 ResNet50 模型)。它们之间的唯一区别是最后一层针对不同的数据集进行了优化/重新训练。

我想合并这两个模型的前k层,如下图。这应该会提高推理的性能。

为了让我的案例更清楚,这些是其他机器学习工具中实现此功能的示例,例如。 Pytorch, Keras.

【问题讨论】:

    标签: deep-learning onnx onnxruntime


    【解决方案1】:

    sclblonnx package 提供了许多更高级别的功能来编辑 ONNX 图,包括合并两个子图的能力。

    【讨论】:

      【解决方案2】:

      您可以使用 ONNX 包及其公开的 API (https://github.com/onnx/onnx/blob/master/docs/PythonAPIOverview.md) 来改变模型/图形。

      【讨论】:

        【解决方案3】:

        sclblonnx 包不支持动态大小输入。

        对于动态大小输入,一种解决方案是使用 ONNX API 编写您自己的代码,如前所述。另一种解决方案是使用 onnx-tensorflow 或 onnx2pytorch 等工具将两个 ONNX 模型转换为框架(Tensorflow 或 PyTorch) .您可以在 Tensorflow 或 Pytorch 中操作网络,并将整个网络导出为 Onnx 格式。

        【讨论】:

          猜你喜欢
          • 2021-03-24
          • 1970-01-01
          • 1970-01-01
          • 2021-05-13
          • 2018-10-27
          • 2021-07-13
          • 1970-01-01
          • 2014-05-20
          • 2018-02-03
          相关资源
          最近更新 更多