【问题标题】:Tensorflow - Deep MNIST Tutorial - Export classifier to C++Tensorflow - 深度 MNIST 教程 - 将分类器导出到 C++
【发布时间】:2017-08-15 21:05:19
【问题描述】:

我获得了训练有素的“深度 MNIST 教程”NN,并且我知道如何使用 TensorFlow Python API 测试模型。现在我想将分类器导出到 C++,这样我就可以在没有 TensorFlow API 的情况下使用它。

我知道经过训练的模型拓扑、权重和激活函数。有这个实现的例子吗?我搜索了它,但找到了如何在 C++ 中创建和训练 NN 而不是分类器示例。

提前致谢。

【问题讨论】:

    标签: python c++ tensorflow classification


    【解决方案1】:

    也许以下 Tensorflow 教程中的代码可以提供帮助?

    TensorFlow C++ Image Recognition Demo

    本教程代码使用 C++ 编写,无需安装 Tensorflow 即可运行。

    但一个限制是它使用导出为“冻结的 protobuf”.pb 文件的模型。您可以按照页面所述下载 inception V3 预训练模型,或冻结您自己的模型来制作一个。

    如果您已经将模型/变量保存到检查点,以下代码将有助于冻结您的图表:

    freeze_graph.py

    或者您可以在训练结束后添加以下代码以获取冻结模型文件为my_model.pb

      #...some sess.run loop for training
    
      output_graph_def = sess.graph_def
      output_graph_def = graph_util.convert_variables_to_constants(
            sess, sess.graph_def, ['some_tensor_names_for_output'])
      output_graph_def = remove_training_nodes(output_graph_def)
      with open('my_model.pb', 'wb') as f:
        f.write(output_graph_def.SerializeToString())
    

    【讨论】:

    • 谢谢,它有帮助,我不知道“冻结的 protobuf”.pb。你的代码对我不起作用,但我找到了这个博客:blog.metaflow.fr/…
    猜你喜欢
    • 2018-11-05
    • 2017-04-13
    • 2017-09-20
    • 1970-01-01
    • 1970-01-01
    • 2017-06-18
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多