我尝试从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/