【问题标题】:How to restore a model with tensorflow without using sessions?如何在不使用会话的情况下使用 tensorflow 恢复模型?
【发布时间】:2016-11-30 15:18:11
【问题描述】:

我有一个使用

创建并保存的 DNNClassifier
classifier = learn.DNNClassifier(
  feature_columns=feature_columns, hidden_units=[10, 20, 10], n_classes=3, model_dir=model_directory)

然后将一些东西保存在目录 model_directory 中,我得到文件

checkpoint
events.out.tfevents.1480518258.DESKTOP-E18T9HJ
graph.pbtxt
model.ckpt-100-00000-of-00001
model.ckpt-1-00000-of-00001
model.ckpt-100.meta
model.ckpt-1.meta

然后我尝试加载它,使用

new_classifier = learn.TensorFlowEstimator.restore(model_directory)

(根据我看到的there) 但是得到

File "importAndClassify.py", line 17, in <module>
  new_classifier = learn.TensorFlowEstimator.restore(model_directory)
File "/home/Alois/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/estimators/base.py", line 441, in restore
raise ValueError("Restore folder doesn't contain model definition.")
ValueError: Restore folder doesn't contain model definition.

你知道我应该怎么做吗?我读了here“通过向构造函数提供相同的model_dir来完成恢复。”但这没有结果。

new_classifier = learn.DNNClassifier(model_directory)

我对所有 API 更改和缺乏清晰的文档感到很困惑。特别是,我不明白为什么在某些教程中,分类器是使用 tensorflow 变量和会话构建的,而且一切都非常复杂,而在其他时候,听起来很容易,你只需要说你想要这个分类器基于这个和这个参数......这是为了进一步参数化吗?这两种愿景之间是否有一座桥梁?

【问题讨论】:

    标签: python scikit-learn tensorflow


    【解决方案1】:

    同样的意见......似乎他们需要一些优秀的软件架构和优秀的项目经理......这样 tf 看起来就像一个笑话

    解决您的问题:模型会自动从“构造函数”中的该目录加载:

    分类器 = 学习.DNNClassifier( feature_columns=feature_columns, hidden_​​units=[10, 20, 10], n_classes=3, model_dir=model_directory)

    如果 model_directory 有文件,它将加载它们……这就是加载模型的方法 lol……它真的仅此而已

    我的问题是在 JAVA 的 tensorflow 中加载相同的模型...我需要一个“model_saved.pb”或“model_saved.pbtxt”文件,但使用 learn.DNNClassifier(...) 是不可能的/p>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-19
      • 2018-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多