【问题标题】:skflow example throws errorsskflow 示例引发错误
【发布时间】:2016-03-04 15:02:44
【问题描述】:

我对 python 和 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 运行代码。

【问题讨论】:

    标签: python tensorflow skflow


    【解决方案1】:

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

    最简单的解决方案是将upgrade TensorFlow 升级到 0.7.1 版

    【讨论】:

    • 太棒了!这修复了它。除了打印准确度或classifier.save('./path')之外,我可以问一下我可以转储分类器的结果吗?我想这将是指向分类结果的 0 或 1 的索引数组?
    • 您的意思是“为特定示例(或一批示例)转储分类器的结果*”吗?在这种情况下,我认为您会使用classifer.predict(...) 来获得预测(或一批预测)。 (虽然我不是 skflow 用户,所以可能会有更好的答案。)
    • 我猜是一批例子,所以classifer.predict实际上是输出?输出/保存它的最佳方式是什么?
    • 我认为它只是一个 NumPy 数组,因此您可以使用 numpy.savetxt() 或类似的东西将其写入文件。或者,您可以将其转换为 pandas DataFrame 并使用该库的多种方法之一写入 different formats
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 2017-12-20
    • 2020-07-01
    • 2019-03-05
    • 1970-01-01
    相关资源
    最近更新 更多