1

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

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

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

合并

4

3 回答 3

2

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

于 2021-04-29T16:32:39.737 回答
2

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

于 2020-08-11T00:15:12.873 回答
0

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

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

于 2021-09-06T12:46:04.447 回答