如何保存keras模型仅用于推理?

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

我训练了一个 CNN 模型并将其保存为 .keras 文件。现在我希望其他人用它来进行预测。我计划使用 Flask 服务器来部署它,并将整个内容打包在一个 exe 中。问题是当我加载回来后执行 .summary() 时,我能够看到整个模型架构。我还能够看到训练模型时使用的超参数的值。

仅用于推理的模型的最佳方式是什么? (我希望隐藏模型细节)以及如何将数据传递到我保存模型/权重作为预测的内容中? 我使用 keras 2.10.0tf 2.10.1

keras 文档中最直接的方法是使用 .export() 但似乎它只能从 keras 3 中使用。

tensorflow keras deep-learning inference
1个回答
0
投票

在某些时候,正在运行的应用程序需要了解模型的架构。仅凭重量不足以做任何事情。

您可以尝试对可执行文件中控制模型架构的位进行加密,并仅共享权重(您可以使用

get_weights
提取权重),但这是需要跳过的很多环节,非常不常见,并且不太可能阻止通过弄清楚模型架构来确定窥探者。

模型架构并不是专有模型的秘密武器。一种模型与另一种模型在商业上的不同之处在于训练过程,无论是在硬件还是训练数据访问方面。

事实上很多商业模型架构都是开源的。 (参见 GPT-4 的技术审查例如:https://arxiv.org/abs/2303.08774

© www.soinside.com 2019 - 2024. All rights reserved.