-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いつ追加または削除されたかを調べる

私の知る限り、テンソルフローのバージョンは sklearn のバージョンと互換性がありません。

于 2015-12-22T15:15:41.227 に答える