TensorFlow: How do I release a model without source code?

后端 未结 2 1926
栀梦
栀梦 2020-12-21 11:42

I am using Tensorflow + Python.

I am curious if I can release a saved Tensorflow model (architecture + trained variables) without detailed source code. I\'m aware of

相关标签:
2条回答
  • 2020-12-21 11:57

    You can build a Saver from the MetaGraphDef (saved with checkpoints by default: those .meta files). and then use that Saver to restore your model. So users don't have to re-define your graph in their code. But then they still need to figure out the model signature (input, output variables). I solve this using tf.Collection (but i am interested to find better ways to do it as well).

    You can take a look at my example implementation (the eval.py evaluate a model without re-defining a model):

    • reconstruct saver from meta graph https://github.com/falcondai/cifar10/blob/master/eval.py#L18
    • get input variables from collections https://github.com/falcondai/cifar10/blob/master/eval.py#L58
    • how to define your model https://github.com/falcondai/cifar10/blob/master/models/cp2f3d.py
    0 讨论(0)
  • 2020-12-21 12:11

    The TensorFlow Serving project is intended to make this use case straightforward (assuming that the end user is only using the model for inference, not training). TensorFlow Serving includes an Exporter class that takes your tf.train.Saver, the tf.GraphDef that defines your overall model, and a "signature" that describes the inputs to and output from your model.

    The basics tutorial has a good introduction to exporting your model.

    0 讨论(0)
提交回复
热议问题