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

但是,我遇到了错误,并且不确定如何继续。
从保存的文件还原模型时,似乎发生了这种情况。

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适用于Mac OS X
skflow 0.1.0


我该如何解决?

最佳答案

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

同时,您可以通过编辑"skflow/estimators/base.py"的第401行(堆栈跟踪中的完整路径)并替换以下内容来对其进行修复:

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


...具有:

saver_def = tf.train.SaverDef()

关于python - 具有skflow的TensorFlow:AttributeError:'模块'对象没有属性'saver_pb2',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35789666/

10-11 04:08