当我尝试在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
有人可以帮我解决这个错误吗?
答案 0 :(得分:3)
编辑:现在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
答案 1 :(得分:1)
您需要学会自己调试此类问题。
请参阅:每个安装都有点不同。安装了数百个软件包,显然您有版本冲突。但我们无法访问您的计算机,我们无法确定您安装的是哪个版本。
您缺少导入NotFittedError
现在你需要:
NotFittedError
的时间据我所知,您的tensorflow版本与您的sklearn版本不兼容。
答案 2 :(得分:0)
pip install --upgrade sklearn
解决了问题