TensorflowのImportError: cannot import name ‘abs’というエラー
久しぶりにKerasで、CNNで学習させようとしたところ
ImportError: cannot import name 'abs'
というエラーが発生してしまいました。
エラーコードを見ると、バックグランドで動いているTensorFlowに影響があるみたい。。。
解決方法
`ImportError: cannot import name 'abs'` when importing TFP in Python 3 (and in Python 2) · Issue #46 · tensorflow/probability
...
上のサイトを参考にして、あとは闇雲で解決しました。
- tensorflowをアンインストール
- kerasをアンインストール
- protobufをアンインストール
- tensorlfowを再インストール
- kerasをインストール
アンインストールしたもの
私の場合:pipとcondaで、tensorflowが混在してました笑。。。
なので、どちらもアンインストールします。
kerasも同様です。
pip uninstall tensorflow conda uinstall tensorflow pip uninstall keras conda uninstall keras pip uninstall protobuf conda uninstall protobuf
終わったら、
conda list pip list
で、パッケージを確認してください。
tensorflowとkerasが消えていることを確認しましょう。
再インストール
再度、tenforflowとkerasをインストールします。
pip install tensorflow pip install keras
今回は、pipで統一してください。
tensorflowとkerasは、pipが推奨されているらしい。
(condaコマンドはあまり見ない)
参考
https://github.com/tensorflow/probability/issues/46
上のサイトは、「ImportError: cannot import name ‘abs’」とググれば、一番最初に出てくると思います。