我正在从事一个项目,该项目涉及向现有iOS APP添加AI对象检测功能。我能够训练自己的DNN模型,并将其转换为CoreML的.mlmodel格式。
现在,我需要将包括.mlmodel文件的工作转移给其他开发人员进行集成。但是,我不希望他们在该项目之外使用我训练有素的.mlmodel文件(根据合同)。我有什么办法可以只“隐藏” .mlmodel文件,使它们只能用于此特定的APP,而不能简单地复制和保存以用于其他用途?
我已经对iOS库和框架进行了一些快速研究,但是我仍然不确定这是否是我想要的解决方案。
答案 0 :(得分:1)
不。一旦有人可以访问您的mlmodel文件或编译版本mlmodelc,他们就可以在其他地方使用它。
例如,您可以从App Store下载一个应用程序,查看IPA文件,将其mlmodelc文件夹复制到您自己的应用程序中,然后立即开始使用该模型。
为防止外部人窃取您的模型,您可以对模型进行加密(就像对其他文件进行加密一样),但这仅在您可以隐藏解密密钥的情况下才有效。您还可以在模型中添加一个自定义层,这样一来,如果没有该自定义层的代码,它就变得毫无用处。
但是,如果您聘请外部开发人员来处理您的应用程序,那么这些解决方案将不起作用,因为它们(出于必要)将需要访问这些解密密钥和源代码文件。
我不确定您希望其他开发者到底做什么,但是如果您不信任他们,那么: