我正在致力于一个项目,其中包括增加人工智能对象检测功能到一个现有的iOS应用程序。我能够训练自己的DNN模型,并将其转换为CoreML的.mlmodel格式。
现在,我需要将我的工作(包括.mlmodel文件)转移到另一个开发人员进行集成。但是,我不希望他们在这个项目之外(根据合同)使用我受过训练的.mlmodel文件。有什么办法我可以做的只是“隐藏”.mlmodel文件,使它们只能用于这个特定的应用程序,不能简单地复制和保存为其他用途?
我已经对iOS库和框架做了一些快速的研究,但我仍然不确定这是否是我正在寻找的解决方案。
发布于 2019-01-26 12:14:00
不是的。一旦有人访问了您的mlmodel文件或编译版本mlmodel c,他们就可以在其他地方使用它。
例如,您可以从app下载一个应用程序,查看IPA文件,将它们的mlmodelc文件夹复制到您自己的应用程序中,然后立即开始使用该模型。
为了防止外部人员窃取您的模型,您可以对模型进行加密(就像加密任何其他文件一样),但只有当您能够隐藏解密密钥时,才能进行加密。您还可以向模型中添加一个自定义层,这样如果没有该自定义层的代码,它就会变得毫无用处。
然而,如果你雇用一个外部开发人员来开发你的应用程序,这些解决方案就行不通了,因为出于必要,它们需要访问这些解密密钥和源代码文件。
我不知道您到底想让其他开发人员做什么,但是如果您不信任他们,那么:
https://stackoverflow.com/questions/54369796
复制相似问题