【问题标题】:Cannot import name NotFittedError on Ubuntu无法在 Ubuntu 上导入名称 NotFittedError
【发布时间】:2016-03-28 21:04:03
【问题描述】:

当我尝试在 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

谁能帮我解决这个错误?

【问题讨论】:

标签: python machine-learning tensorflow skflow


【解决方案1】:

编辑:这现在是 skflow 中的fixed。升级到最新版本的 skflow 将解决此问题。

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

from sklearn.utils.validation import NotFittedError

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

from sklean.exceptions import NotFittedError

【讨论】:

    【解决方案2】:

    您需要学会自己调试此类问题

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

    您缺少导入 NotFittedError

    现在你需要:

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

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

    【讨论】:

      【解决方案3】:
      pip install --upgrade sklearn
      

      解决了问题

      【讨论】:

        猜你喜欢
        • 2015-02-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-23
        • 2014-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多