質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

10367閲覧

google colab のkerasがインポートできない件について

Nogutomo

総合スコア1

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/10/30 08:53

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
犬、猫の分類をしようとしている最中に、エラーが発生しました。
とあるサイトのサンプルコードをそのまま使っていたのでどこに誤りがあるのかいまいちよくわからず・・
助けていただけると助かります。

よろしくお願いします。

発生している問題・エラーメッセージ

ImportError Traceback (most recent call last) <ipython-input-7-4a947a034d6c> in <module>() 2 from keras.layers import Conv2D, MaxPooling2D 3 from keras.layers import Activation, Dropout, Flatten, Dense ----> 4 from keras.optimizers import RMSprop 5 from keras.utils import np_utils 6 import keras ImportError: cannot import name 'RMSprop' from 'keras.optimizers' (/usr/local/lib/python3.7/dist-packages/keras/optimizers.py) --------------------------------------------------------------------------- NOTE: If your import is failing due to a missing package, you can manually install dependencies using either !pip or !apt. To view examples of installing some common dependencies, click the "Open Examples" button below.

該当のソースコード

from keras.models import Sequential from keras.layers import Conv2D, MaxPooling2D from keras.layers import Activation, Dropout, Flatten, Dense from keras.optimizers import RMSprop from keras.utils import np_utils import keras import numpy as np classes = ["dog", "cat"] num_classes = len(classes) image_size = 64 """ データを読み込む関数 """ def load_data(): X_train, X_test, y_train, y_test = np.load("./dog_cat.npy", allow_pickle=True) # 入力データの各画素値を0-1の範囲で正規化(学習コストを下げるため) X_train = X_train.astype("float") / 255 X_test = X_test.astype("float") / 255 # to_categorical()にてラベルをone hot vector化 y_train = np_utils.to_categorical(y_train, num_classes) y_test = np_utils.to_categorical(y_test, num_classes) return X_train, y_train, X_test, y_test """ モデルを学習する関数 """ def train(X, y, X_test, y_test): model = Sequential() # Xは(1200, 64, 64, 3) # X.shape[1:]とすることで、(64, 64, 3)となり、入力にすることが可能です。 model.add(Conv2D(32,(3,3), padding='same',input_shape=X.shape[1:])) model.add(Activation('relu')) model.add(Conv2D(32,(3,3))) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=(2,2))) model.add(Dropout(0.1)) model.add(Conv2D(64,(3,3), padding='same')) model.add(Activation('relu')) model.add(Conv2D(64,(3,3))) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=(2,2))) model.add(Dropout(0.25)) model.add(Flatten()) model.add(Dense(512)) model.add(Activation('relu')) model.add(Dropout(0.45)) model.add(Dense(2)) model.add(Activation('softmax')) # https://keras.io/ja/optimizers/ # 今回は、最適化アルゴリズムにRMSpropを利用 opt = RMSprop(lr=0.00005, decay=1e-6) # https://keras.io/ja/models/sequential/ model.compile(loss='categorical_crossentropy',optimizer=opt,metrics=['accuracy']) model.fit(X, y, batch_size=28, epochs=40) # HDF5ファイルにKerasのモデルを保存 model.save('./cnn.h5') return model """ メイン関数 データの読み込みとモデルの学習を行います。 """ def main(): # データの読み込み X_train, y_train, X_test, y_test = load_data() # モデルの学習 model = train(X_train, y_train, X_test, y_test) main()

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2021/10/30 09:46

> とあるサイトのサンプルコードをそのまま使っていたので どこのサイトですか?kerasのバージョンはそのサイトと同じですか?
jbpb0

2021/10/30 10:11 編集

from keras.models import Sequential from keras.layers import Conv2D, MaxPooling2D from keras.layers import Activation, Dropout, Flatten, Dense from keras.optimizers import RMSprop from keras.utils import np_utils import keras ↓ 変更 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, MaxPooling2D from tensorflow.keras.layers import Activation, Dropout, Flatten, Dense from tensorflow.keras.optimizers import RMSprop from tensorflow.keras.utils import to_categorical from tensorflow import keras y_train = np_utils.to_categorical(y_train, num_classes) y_test = np_utils.to_categorical(y_test, num_classes) ↓ 変更 y_train = to_categorical(y_train, num_classes) y_test = to_categorical(y_test, num_classes) で、どうでしょうか? 参考 https://dev.infohub.cc/use-tensorflow-keras/#TensorFlowKeras-2 https://teratail.com/questions/277434
Nogutomo

2021/10/30 14:27

meg_さん、AI Academyというサイトのコードです!
Nogutomo

2021/10/30 14:28

jbpb0さん、ご丁寧にありがとうございます。 なんとか無事、解決できました!
guest

回答2

0

python

1from keras.models import Sequential 2from keras.layers import Conv2D, MaxPooling2D 3from keras.layers import Activation, Dropout, Flatten, Dense 4from keras.optimizers import RMSprop 5from keras.utils import np_utils 6import keras

↓ 変更

python

1from tensorflow.keras.models import Sequential 2from tensorflow.keras.layers import Conv2D, MaxPooling2D 3from tensorflow.keras.layers import Activation, Dropout, Flatten, Dense 4from tensorflow.keras.optimizers import RMSprop 5from tensorflow.keras.utils import to_categorical 6from tensorflow import keras

 .

python

1 y_train = np_utils.to_categorical(y_train, num_classes) 2 y_test = np_utils.to_categorical(y_test, num_classes)

↓ 変更

python

1 y_train = to_categorical(y_train, num_classes) 2 y_test = to_categorical(y_test, num_classes)

 
参考
TensorFlowに組み込まれたKerasを使う方法
Kerasのto_categoricalを使おうとすると、no attributeのエラーが出てしまう。

投稿2021/11/01 00:46

jbpb0

総合スコア7651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

kerasの前に、tensorflow.を付けて以下のようにインポートしてみて下さい

from tensorflow.keras.optimizers import RMSprop

下記サイトで説明されていますが、2ヶ月ほど前に multi-backend Keras というものが廃止されたのが原因のようです。
GPU docker image does not find keras

また

!pip uninstall keras !pip install keras

のようにkerasをインストールし直す方法や、

!pip install ../input/keras-wheel-260/Keras-2.4.3-py2.py3-none-any.whl

のようにバージョンを指定して、kerasをインストールすることでも エラーを回避できる場合があるようです。

投稿2021/10/30 22:03

coffeebar

総合スコア140

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問