2

我尝试iris_save_restore.py从 skflow 运行示例,根本不更改代码。

但是,我遇到了一个错误,我不确定如何继续。它似乎是从保存的文件中恢复模型时发生的。

new_classifier = skflow.TensorFlowEstimator.restore('/tmp/skflow_examples/iris_custom_model')
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
score = metrics.accuracy_score(y_test, new_classifier.predict(X_test))
print('Accuracy: {0:f}'.format(score))  File "/Users/hamayu/.pyenv/versions/anaconda2-2.5.0/lib/python2.7/site-packages/skflow/estimators/base.py", line 463, in restore
    estimator._restore(path)
  File "/Users/hamayu/.pyenv/versions/anaconda2-2.5.0/lib/python2.7/site-packages/skflow/estimators/base.py", line 401, in _restore
    saver_def = tf.python.training.saver_pb2.SaverDef()
AttributeError: 'module' object has no attribute 'saver_pb2'

我使用以下版本:

  • anaconda2-2.5.0
  • tensorflow 0.7 CPU-only for Mac OS X
  • skflow 0.1.0

我该如何解决?

4

2 回答 2

4

这看起来像是 skflow 中的一个错误:当前版本的 skflow 与最新版本的 TensorFlow(0.7.0 及更高版本)不兼容。我提交了一个拉取请求来修复它。(编辑:拉取请求现已合并,因此升级到最新版本的 skflow 也将解决问题。)

同时,您可以通过编辑"skflow/estimators/base.py"(stacktrace 中的完整路径)的第 401 行并替换:

saver_def = tf.python.training.saver_pb2.SaverDef()

...和:

saver_def = tf.train.SaverDef()
于 2016-03-04T07:02:57.713 回答
0

作者今天刚刚修复了这个问题:https ://github.com/tensorflow/skflow/issues/144 。您必须从 github(最新版本)中删除并重新安装 skflow。

于 2016-03-11T17:20:01.000 回答