2016-03-04 93 views
0

我对python和skflow很陌生,但我遇到了一个非常基本的问题,希望有人能帮助我。skflow示例抛出错误

我已经安装了skflow并下载了示例中使用的dbpedia_csv。但是一旦运行了“text_classification_character_rnn.py”例如,我打一个错误:

Traceback (most recent call last): 
File "/home/me/Projects/skflow/examples/text_classification_character_rnn.py", line 70, in <module> 
classifier.fit(X_train, y_train) 
File "/home/me/Projects/skflow/skflow/estimators/base.py", line 217, in fit 
self._setup_training() 
File "/home/me/Projects/skflow/skflow/estimators/base.py", line 148, in _setup_training 
self._inp, self._out) 
File "/home/me/Projects/skflow/examples/text_classification_character_rnn.py", line 63, in char_rnn_model 
return skflow.models.logistic_regression(encoding, y) 
File "/home/me/Projects/skflow/skflow/models.py", line 65, in logistic_regression 
tf.histogram_summary('logistic_regression.X', X) 
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/summary_ops.py", line 39, in histogram_summary 
tag=tag, values=values, name=scope) 
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_summary_ops.py", line 34, in _histogram_summary 
name=name) 
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/op_def_library.py", line 397, in apply_op 
values, name=input_arg.name, dtype=dtype) 
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 468, in convert_to_tensor 
ret = conversion_func(value, dtype=dtype, name=name) 
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/constant_op.py", line 143, in constant 
tensor_util.make_tensor_proto(value, dtype=dtype, shape=shape)) 
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/tensor_util.py", line 287, in make_tensor_proto 
_AssertCompatible(values, dtype) 
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/tensor_util.py", line 227, in _AssertCompatible 
(dtype.name, mismatch)) 
TypeError: Expected float32, got <tensorflow.python.framework.ops.Tensor object at 0x7f415dfcc290> instead. 

任何的想法是什么,我做错了什么?此外,text_classification_cnn.py正在工作,但print('Accuracy: {0:f}'.format(score))没有打印准确性。我使用PyCharm Edu 2.0.3来运行代码。

回答

2

这看起来像是skflow和TensorFlow之间的版本不匹配。从错误信息看来,它看起来像是一个旧版本(0.5或0.6)的TensorFlow。然而,skflow是recently updated在TensorFlow中使用一个新的界面,它看起来像你正在使用这个最新版本的skflow。

最简单的解决方案是upgrade TensorFlow到0.7.1版本

+0

太棒了!这固定它。除了打印Accuracy或'classifier.save('./ path')'我可以抛出分类器的结果吗?我想它会是一个索引数组0或1指向分类结果? – GameOfThrows

+0

你的意思是“对特定示例(或一批示例)的分类器结果的转储”?在这种情况下,我想你会使用'classifer.predict(...)'来得到一个预测(或一批预测)。 (虽然我不是skflow用户,所以可能会有更好的答案。) – mrry

+0

我猜想一批示例,所以'classifer.predict'实际上是输出?输出/保存这个的最佳方式是什么? – GameOfThrows