以前こちらで(リンク内容)TensorFlowのインストールが分からずに質問したのですが, その時にバージョンが大切だと知り、
TensorFlowの1.15には、Kerasは2.2.4まで動くと保証されているので(リンク内容)、2.2.4をインストールしても、importができていない様です。
これは、何が原因なのでしょうか?
また、どうしたら解決できますか?
お願い致します。
エラーの内容です。
****:keras shobu$ python Python 3.7.2 (default, Dec 29 2018, 00:00:04) [Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import keras as ks Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Users/****/.local/lib/python3.7/site-packages/keras/__init__.py", line 25, in <module> from keras import models File "/Users/****/.local/lib/python3.7/site-packages/keras/models.py", line 19, in <module> from keras import backend File "/Users/****/.local/lib/python3.7/site-packages/keras/backend.py", line 37, in <module> from tensorflow.python.eager.context import get_config ImportError: cannot import name 'get_config' from 'tensorflow.python.eager.context' (/Users/****/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/tensorflow_core/python/eager/context.py) >>> model = ks.models.Sequential() Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'ks' is not defined >>> exit ()
プログラム
Python
1from keras.models import Sequential 2from keras.layers import Dense, Activation 3from keras.utils import np_utils 4 5#ダミーデータ 6data = np.random.random((1000, 784)) 7labels = np.random.randit(10, size=(1000, 1)) 8labels = np_utils.to_categorical(labels, 10) 9 10model = seuentil() 11model.add(Dense(64, activtion='relu', input_dim=784)) 12model.add(Dense(64, ctivation='relu')) 13model.add(Dense(10, ctivation='softmax')) 14 15#モデルのコンパイル 16model.compile(optimizer='rmsprop', 17 loss='categorical_crossentropy', 18 metrics=['accracy']) 19 20#学習を行う 21model.fit(data, labels)
--------------------------------------------------------------------------- ImportError Traceback (most recent call last) <ipython-input-1-95d31656bd9c> in <module>() ----> 1 from keras.models import Sequential 2 from keras.layers import Dense, Activation 3 from keras.utils import np_utils 4 5 #ダミーデータ ~/.local/lib/python3.7/site-packages/keras/__init__.py in <module>() 23 24 # See b/110718070#comment18 for more details about this import. ---> 25 from keras import models 26 27 from keras.engine.input_layer import Input ~/.local/lib/python3.7/site-packages/keras/models.py in <module>() 17 18 import tensorflow.compat.v2 as tf ---> 19 from keras import backend 20 from keras import metrics as metrics_module 21 from keras import optimizer_v1 ~/.local/lib/python3.7/site-packages/keras/backend.py in <module>() 35 from tensorflow.python.distribute import distribute_coordinator as dc 36 from tensorflow.python.distribute import distribute_coordinator_context as dc_context ---> 37 from tensorflow.python.eager.context import get_config 38 from tensorflow.python.framework import config 39 from keras import backend_config ImportError: cannot import name 'get_config' from 'tensorflow.python.eager.context' (/Users/****/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/tensorflow_core/python/eager/context.py)
> TensorFlowの1.15には、Kerasは2.2.4まで動く
質問のエラーと関係あるかどうか分かりませんが、Keras 2.3.1も使えますよ
参考
https://www.kkaneko.jp/tools/win/tensorflow1.html#S2
の「TensorFlow 1.15.5(旧バージョン)のインストール」の「6. Keras が必要な場合」
今日もありがとうございます。
本当に助かります。
自分もそちらのサイトを見たのですが、こちらの方はKerasを使っているのが載っていなかったので、バージョンを下げました。
また、今回作ったプログラムとエラーを載せますので、どうしてこうなるのか教えていただけませんか?
当方のMacでAnaconaのPython起動して、
import keras as ks
だけ実行しても、問題ないですね
当方の環境は下記の通りです
Python 3.7.7
tensorflow 1.15.3
Keras 2.3.1
pip list
を実行して、tensorflowとKerasのバージョンが意図通りか、確認してみてください
(Kerasが2.2.*でも、おそらく大丈夫だとは思いますが)
わざわざありがとうございます。
バージョンはこの様になっていました。
tensorflow 1.15.3
tensorflow-estimator 1.15.1
Keras 2.3.1
Keras-Applications 1.0.8
keras-nightly 2.5.0.dev2021032900
Keras-Preprocessing 1.1.2
2.3.1に直しました
> keras-nightly 2.5.0.dev2021032900
これ入ってたらダメです
下記を実行してください
pip uninstall keras-nightly
pip uninstall keras
pip install keras==2.3.1
pipコマンドの詳細は、普段のに合わせてください
(行頭にsudo付けるかとか、pipかpip3か等)
実行したら、念の為に再度
pip list
を実行して、「keras-nightly」が消えてるかを確認してください
ありがとうございます。
無事にできました。
入っていたらダメなものは自分ではわかりませんでした。
いつも助けてくださり、本当にありがとうございます。
また、よろしければ答えていただけませんか?
2日連続でほんとうにありがとうございました。
また、自分が困った際には何卒よろしくお願い致します。
ありがとうございました。
回答1件
あなたの回答
tips
プレビュー