6

I have trained a model for classification and I would like to deploy it on mobile platform. For the current official deployment tutorial, I think that other user can easily access my pb file and use it on other application. So, I would like to ask is there any solution for model protection?

I have think of one possible solution. How about I encrypt the pb file in other binary format and decrpyt it while application use and pass it to tensorflow framework? I have studied some of the source code on tensorflow. But I cannot figure out how tensorflow read the pb file.

Keep TensorFlow Model Encrypted on Android

laukaho
  • 106
  • 4
  • after digging on the internet, I found this link. https://github.com/tensorflow/tensorflow/issues/9501 The solution that Pete said is what I am thinking of. But really don't know how to implement it. – laukaho Jul 26 '17 at 10:10
  • 1
    This is of course a form of DRM (Digital Rights Management), and suffers from the usual flaw. You either give your customers your model, or you don't. You can't do both at the same time. If you don't want to give out the model, deploy it as a cloud service and use a thin app on the mobile. – MSalters Jul 26 '17 at 14:34
  • I am Implementing Pete's solution. But I don't know how to pass a byte stream as graph def in C++ – laukaho Jul 28 '17 at 04:04

0 Answers0