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のいくつかの設定ファイルについて簡単な理解ができたので、さらに勉強を進めることができるようになりました。
関連
-
undefinedtensorflowお使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX2
-
undefinedエラーを解決してください。お使いのCPUは、このTensorFlowバイナリが使用するためにコンパイルされていない命令をサポートしています。AVX AVX2
-
TypeError: int() の引数は、文字列、バイトのようなオブジェクト、または数値でなければならず、'map' ではありません。
-
TensorFlowの問題:AttributeError:'NoneType'オブジェクトには'dtype'という属性がない。
-
Tensorflowのexamples.tutorials.mnistにあるinput_dataデータクラスの簡単な分析
-
tensorflow Solutionに一致するディストリビューションは見つかりませんでした。
-
tf.get_variable_scope() 共通の使用法
-
GPU版TensorFlowの正常なインストールをテストします。
-
TensorFlow学習 - Tensorflowオブジェクト検出API (win10, CPU)
-
Keras-Yolo v3 のエラーを解決する。AttributeError: モジュール 'keras.backend' には 'control_flow_ops' という属性がありません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Running tensorflow program prompts Your CPU supports instructions that this TensorFlow binary was not compiled to use:
-
undefined警告 お使いのCPUは、このTensorFlowバイナリが使用するためにコンパイルされていない命令をサポートしています。AVX2
-
EnvironmentErrorのため、パッケージをインストールできませんでした。[Errno 13] パーミッションが拒否された問題を解決しました。
-
TensorflowでProcess finished with exit code -1073741819 (0xC0000005)が発生した場合の解決策。