【问题标题】:TensorFlow: How do I release a model without source code?TensorFlow:如何在没有源代码的情况下发布模型?
【发布时间】:2016-04-06 20:59:10
【问题描述】:

我正在使用 Tensorflow + Python。

我很好奇是否可以在没有详细源代码的情况下发布已保存的 Tensorflow 模型(架构 + 训练变量)。我知道tf.train.Saver(),但它看起来只保存变量,为了恢复/运行它们,用户需要“定义”相同的架构。

仅出于测试/运行目的,有没有办法在没有源代码的情况下发布已保存的{架构+训练变量},以便用户只需投射查询并获得结果?

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    TensorFlow Serving 项目旨在简化此用例(假设最终用户仅使用模型进行推理,而不是训练)。 TensorFlow Serving 包括一个 Exporter 类,它接受您的 tf.train.Savertf.GraphDef 定义您的整体模型,以及一个描述模型输入和输出的“签名”。

    basics tutorial 对导出模型有很好的介绍。

    【讨论】:

      【解决方案2】:

      您可以从 MetaGraphDef 构建Saver(默认情况下与检查点一起保存:那些 .meta 文件)。然后使用该 Saver 恢复您的模型。所以用户不必在他们的代码中重新定义你的图表。但是他们仍然需要弄清楚模型签名(输入、输出变量)。我使用tf.Collection 解决了这个问题(但我也有兴趣找到更好的方法)。

      您可以查看我的示例实现(eval.py 评估模型而不重新定义模型):

      【讨论】:

      猜你喜欢
      • 2018-12-12
      • 1970-01-01
      • 2018-01-09
      • 1970-01-01
      • 2017-11-12
      • 1970-01-01
      • 2019-09-13
      • 1970-01-01
      • 2015-03-15
      相关资源
      最近更新 更多