gpt4 book ai didi

android - 在 Android 上保持 TensorFlow 模型加密

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:14:20 24 4
gpt4 key购买 nike

我进行了搜索以了解是否有一种技术可以在 Android 应用程序中保持经过训练的 tensorflow 模型(.pb 文件)的安全,但没有找到任何有用的东西。我正在发布一个包含我在训练集上构建的 tensorflow 模型的应用程序。当我发布应用程序时,任何人都可以访问模型并将其用于自己的应用程序。我想知道是否有办法保护我放在 Android 应用程序 Assets 文件夹中的 tensorflow 模型?

这是我在 Android 中加载模型的方式:

TensorFlowInferenceInterface tf = new TensorFlowInferenceInterface();    
tf.initializeTensorFlow(context.getAssets(), "file:///android_asset/model.pb");

本来想把加密的模型嵌入到app中,运行时解密,但是如果有人debug了app,就可以拿到密码解密了。此外,TensorFlowInferenceInterface 类中只有一个 initializeTensorFlow 方法的实现,它只接受 (AssetManager assetManager, String model)。可以编写一个接受加密的,但需要对 Tensorflow C++ 库进行一些修改。我想知道是否有更可靠的解决方案。有什么建议吗?

最佳答案

如评论中所述,当您在本地运行模型时,没有真正安全的方法来保证模型的安全。话虽如此,您可以隐藏您的模型并使事情变得比周围有一个 .pb 更困难。

除了name obfuscation provided by freeze_graph ,一个好的解决方案是compile to model to a binary using XLA AOT compilation使用 tfcompile。它会生成一个二进制库,其中包含您的模型以及使用它的头文件。想要窥视您的网络的人将不得不通过编译代码,这比大多数人阅读 .pb 文件要清楚得多。

关于android - 在 Android 上保持 TensorFlow 模型加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42868368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com