-3

当我尝试在 TensorFlow 上运行 TensorFlow 和 Scikit Flow 示例的 titanic.py 脚本时,出现此错误:

Traceback (most recent call last):
  File "titanic.py", line 10, in <module>
    import skflow
  File "build/bdist.linux-x86_64/egg/skflow/__init__.py", line 20, in <module>
  File "build/bdist.linux-x86_64/egg/skflow/estimators/__init__.py", line 16, in <module>
  File "build/bdist.linux-x86_64/egg/skflow/estimators/base.py", line 25, in <module>
ImportError: cannot import name NotFittedError

我正在使用 pip、python 2.7.9 和 Ubuntu 15

谁能帮我解决这个错误?

4

3 回答 3

3

编辑:这已在 skflow 中得到修复。升级到最新版本的 skflow 将解决此问题。

有问题的导入在skflow/estimators/base.py

from sklearn.utils.validation import NotFittedError

看起来这个类是在(相对)最近提交到 scikit-learn中移动的。降级到 scikit-learn 的早期版本可能是最容易的(例如,0.17 版本似乎是兼容的)。如果您喜欢冒险,可以尝试编辑第 25 行"build/bdist.linux-x86_64/egg/skflow/estimators/base.py"以阅读:

from sklean.exceptions import NotFittedError
于 2015-12-22T16:10:57.317 回答
1

你需要学会自己调试这些问题

请参阅:每个安装都有些不同。安装了数百个包,显然你有一个版本冲突。但是我们无权访问您的计算机,也无法判断您安装了哪些版本。

您缺少导入NotFittedError

现在你需要:

  1. 找出它是从哪里导入的(错误消息在那里很有帮助)
  2. 它是从哪里导入(您需要查看计算机上的文件...
  3. 找出为什么找不到
  4. 找出何时NotFittedError添加或删除

据我所知,您的 tensorflow 版本与您的 sklearn 版本不兼容。

于 2015-12-22T15:15:41.227 回答
0
pip install --upgrade sklearn

解决了问题

于 2016-02-18T15:12:24.510 回答