🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python

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

Q&A

1回答

3629閲覧

KeyError: 'acc'の対処法(環境設定)

hashikunmaru

総合スコア6

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

Python

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

0グッド

0クリップ

投稿2019/10/24 17:04

編集2019/10/27 15:11

前提・実現したいこと

kerasを用いて分類器を作成しています。
図を描きたいのですが、エラーが出てしまいます。

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

KeyError: 'acc'

該当のソースコード

python

1(省略) 2# コンパイル 3model.compile(optimizer='sgd',loss='categorical_crossentropy',metrics=['accuracy']) 4 5# 学習 6history = model.fit(X_train, y_train, batch_size=70, epochs=1, verbose=1, validation_data=(X_test, y_test)) 7 8 9#モデルを保存 10model.save("model.h5") 11 12# 汎化制度の評価・表示 13score = model.evaluate(X_test, y_test, batch_size=32, verbose=0) 14print('validation loss:{0[0]}\nvalidation accuracy:{0[1]}'.format(score)) 15 16#acc, val_accのプロット 17plt.plot(history.history['acc'], label="acc", ls="-", marker="o") 18plt.plot(history.history["val_acc"], label="val_acc", ls="-", marker="x") 19plt.ylabel("accuracy") 20plt.xlabel("epoch") 21plt.legend(loc="best") 22plt.show()

それぞれの環境

あまりわからない状態で環境設定を行ったことを前提に見ていただければ幸いです。
win,Macともにanacondaのspyderを使用しています。
関係ありそうなライブラリのverを下に示します。

win

1keras:ver.2.24 2tensorflow:ver.1.13.1 3matplotlib:ver.3.0.2

mac

1keras:ver.2.3.1 2tensorflow:ver.2.0.0 3matplotlib:ver.3.1.0

試したこと

macで行うとエラーが出るのですが、winで行うと問題なく図が表示されます。
環境設定の問題だと思うのですがなにが原因なのかわからないので教えてください。

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

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

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

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

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

fiveHundred

2019/10/27 02:12

環境設定の問題だと思うのであれば、現状の環境を記載してください。 (バージョンなど。出来ればどのような手順で環境設定をしたかも)
hashikunmaru

2019/10/27 15:12

コメントありがとうございます。 他に捕捉の情報が必要であれば、教えていただけると幸いです。
fiveHundred

2019/10/28 03:27

これが原因かは分かりませんが、tensorflowのバージョンが2.0になっているのが気になりますね。 ver2.0では、多くの機能が変更されたので、kerasが対応できていないのかもしれません。 一度、tensorflowのバージョンを下げるとどうなりますでしょうか? (余談ですが、tensorflowにもkerasが内蔵されていますので、最新のkerasを使いたいなどの理由が無ければ、こちらの方がいいかもしれません)
guest

回答1

0

Macの場合ですが戻り値が
val_loss
val_accuracy
loss
accuracy
となっているのでこちらの表記で試してみてはいかがでしょうか?

Reference:
https://stackoverflow.com/questions/58012584/keras-keyerror-acc-during-plotting
以下回答まま
Have you tried H.history['accuracy']? Since you compiled using 'accuracy' it will probably have the same string.

Now you can always inspect what you've got:

for key in H.history.keys(): print(key)

You will see what is logged there

環境設定が原因ではないかと...(違ったらすみません)

投稿2019/12/19 09:06

編集2019/12/19 09:32
Yunagi

総合スコア8

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問