Python skflow示例抛出错误

Python skflow示例抛出错误,python,tensorflow,skflow,Python,Tensorflow,Skflow,我对python和skflow很陌生,但我遇到了一个非常基本的问题,希望有人能帮助我 我已经安装了skflow并下载了示例中使用的dbpedia_csv。但是,在运行“text\u classification\u character\u rnn.py”示例时,我遇到了一个错误: Traceback (most recent call last): File "/home/me/Projects/skflow/examples/text_classification_character_rnn.

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

我已经安装了skflow并下载了示例中使用的dbpedia_csv。但是,在运行“text\u classification\u character\u 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.
回溯(最近一次呼叫最后一次):
文件“/home/me/Projects/skflow/examples/text\u classification\u character\u rnn.py”,第70行,在
分类器。配合(X_系列,y_系列)
文件“/home/me/Projects/skflow/skflow/estimators/base.py”,第217行,适合
自我设置和培训()
文件“/home/me/Projects/skflow/skflow/estimators/base.py”,第148行,in\u setup\u training
self.\u输入,self.\u输出)
文件“/home/me/Projects/skflow/examples/text\u classification\u character\u rnn.py”,第63行,字符模型
返回skflow.models.logistic_回归(编码,y)
文件“/home/me/Projects/skflow/skflow/models.py”,第65行,逻辑回归
tf.直方图汇总('logistic\u回归.X',X)
文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/ops/summary_ops.py”,第39行,在直方图_summary中
标记=标记,值=值,名称=范围)
文件“/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen\u-summary\u-ops.py”,第34行,在“直方图”摘要中
名称=名称)
文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/ops/op_def_library.py”,第397行,在apply_op
值,name=input_arg.name,dtype=dtype)
文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/framework/ops.py”,第468行,在convert_to_tensor中
ret=conversion\u func(值,dtype=dtype,name=name)
文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/ops/constant_op.py”,第143行,常量
tensor_util.make_tensor_proto(值,dtype=dtype,shape=shape))
文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/framework/tensor_util.py”,第287行,在make_tensor_proto中
_资产可兼容(值、数据类型)
文件“/usr/local/lib/python2.7/dist packages/tensorflow/python/framework/tensor_util.py”,第227行,在_AssertCompatible中
(dtype.name,不匹配))
TypeError:应为float32,而为Get。

你知道我做错了什么吗?另外,
text\u classification\u cnn.py
正在工作,但是
print('accurity:{0:f}')。format(score))
没有打印准确性。我正在使用PyCharm Edu 2.0.3来运行代码。

这看起来像是skflow和TensorFlow之间的版本不匹配。从错误消息中,看起来您有一个旧版本(0.5或0.6)的TensorFlow。然而,skflow将在TensorFlow中使用一个新接口,看起来您正在使用这个最新版本的skflow


最简单的解决方案是版本0.7.1,这看起来像是skflow和TensorFlow之间的版本不匹配。从错误消息中,看起来您有一个旧版本(0.5或0.6)的TensorFlow。然而,skflow将在TensorFlow中使用一个新接口,看起来您正在使用这个最新版本的skflow


最简单的解决方案是0.7.1版

Awesome!这把它修好了。除了打印精度或
classifier.save('./path')
我可以转储分类器的结果吗?我想象它是一个0或1的索引数组,指向分类结果?你的意思是“转储分类器的结果*用于特定示例(或一批示例)”?在这种情况下,我想您应该使用
classifier.predict(…)
来获得一个预测(或一批预测)。(虽然我不是skflow用户,所以可能有更好的答案。)我想对于一批示例,那么
classifier.predict
实际上就是输出?输出/保存此文件的最佳方法是什么?我认为它只是一个NumPy数组,因此您可以使用或类似的方法将其写入文件。或者您可以将其转换为pandas
DataFrame
,并使用该库的多种方法之一将其写入。太棒了!这把它修好了。除了打印精度或
classifier.save('./path')
我可以转储分类器的结果吗?我想象它是一个0或1的索引数组,指向分类结果?你的意思是“转储分类器的结果*用于特定示例(或一批示例)”?在这种情况下,我想您应该使用
classifier.predict(…)
来获得一个预测(或一批预测)。(虽然我不是skflow用户,所以可能有更好的答案。)我想对于一批示例,那么
classifier.predict
实际上就是输出?输出/保存此文件的最佳方法是什么?我认为它只是一个NumPy数组,因此您可以使用或类似的方法将其写入文件。或者您可以将其转换为pandas
DataFrame
,并使用该库的多种方法之一将其写入。