1. ホーム
  2. TensorFlow

AttributeError: module 'tensorflow' has no attribute 'keras'related problem solution

2022-02-24 23:35:17
<パス

1. タイトルの通り、jupyterでは以下のようなエラーメッセージが表示されます。

情報を見直した結果、個人的にはkerasがインストールされていないことが原因だと思います(以前はインストールされていたかは忘れました)。

2. kerasをインストールします。

まず、パソコンにanacondaをインストールし、関連する環境設定を完了させる必要があります。

-condaはtheanoをインストールする
-kerasをインストール
以下のようなメッセージが表示され、インストール先に問題があることを示唆し、わざわざ修正する必要はありません。

直接pip install keras== (バージョン)

バージョンが一致しない場合:インストールに成功したことを示すプロンプトが表示されることもありますが


ただし、jupyterでは、kerasモジュールに関連する関数を呼び出すと、プロンプトが表示されます。

ここでTensorFlowと同じバージョンのkerasをインストールしないと、ModuleNotFoundErrorが表示されるので、必ずインストールするようにしてください。tensorflow.python.eager'という名前のモジュールがありません。TensorFlowのバージョンの確認は、Pythonのコマンドラインか、jupyterのimport tensorflow as tfとtf.__version__コマンドで行うことができます。 これはバージョンの説明です (https://docs.floydhub.com/guides/environments/)をご覧ください。

このブログもご参考に tensorflowとkerasのバージョン管理問題

そのため、必ずTensorFlowと同じバージョンのkerasを選択するか、同じバージョンがインストールされていない場合はpip install -U tensorflowでTensorFlowを最新バージョンにアップグレードしてください。

インストールが成功すると、以下のようになります。

3. kerasが正常にインストールされているか確認する。ターミナルでPython環境に入り、import kerasというコマンドを入力した後、以下のようにUsing TensorFlow backend.と表示されれば、kerasが正常にインストールされたことになります。

また、FutureWarningのような警告が出る場合もあります。issubdtype の第2引数の 'float' から 'np.floating' への変換は非推奨です。'は非推奨です。将来的には 'np.float64==np.dtype(float).type' として扱われる予定です。からです。_conv import register_converters as _register_converters(ここでスクリーンショットを撮るのを忘れました)。ネットで調べると、パッケージのエラーだったようで、h5pyのパッケージの問題だったようです

回避策 コマンドウィンドウでpip install h5py==2.8.0rc1 を実行して、h5pyをアップデートしてください。

4. 4. keras をインストールした後、jupyter は model = tf.keras.models.Sequential() 文の実行に問題があり、 AttributeError: module 'tensorflow' has no attribute 'keras' というプロンプトが表示されます。

解決方法 model=tf.keras.models.Sequential() を model=tf.contrib.keras.models.Sequential() に置き換えると、正常に実行される。kerasのファイルパスの問題ということで解決しました。

参考ブログ https://blog.csdn.net/qq_34333481/article/details/84023848

https://blog.csdn.net/aioy123456/article/details/99306439


まとめと収穫。元々kerasは正常にインストールされていたのですが、jupyterではkerasモジュールがないことを示すエラーが出たままだったので、ずっとkerasが正常にインストールされていないと思い、情報の確認とkerasのアンインストールを繰り返しました。Pythonの両バージョンのインストールと実行に多くの時間を費やし、一度は心が折れました。幸い、今回の勉強で、anacondaのいくつかの設定ファイルについて簡単な理解ができたので、さらに勉強を進めることができるようになりました。