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

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

詳細はこちら
Keras

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

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

Q&A

解決済

1回答

1968閲覧

python:kerasで学習させたときのエラーの意味が分かりません。

python_2019

総合スコア68

Keras

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

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

0グッド

0クリップ

投稿2019/09/21 09:03

◎ 以下のようなプログラムを実行させました。

model = keras.models.Sequential()

model.add(Dense(units=64,input_dim=101))
model.add(Activation('relu'))

model.add(Dense(units=64))
model.add(Activation('relu'))

model.add(Dense(units=64))
model.add(Activation('relu'))

model.add(Dense(units=2))
model.add(Activation('softmax'))

model.compile(loss='sparse_categorical_crossentropy',optimizer='sgd',metrics=['accuracy'])

model.fit(x_train,y_train,epochs=10, verbose=0)
score = model.evaluate(x_test, y_test,batch_size = 10)
print('accuracy:', score[1])

◎ すると、以下のようなエラーが出ます。

InvalidArgumentError Traceback (most recent call last)
<ipython-input-103-09cf3e4b67d9> in <module>

----> 2 model.fit(x_train,y_train,epochs=10, verbose=0)
4 score = model.evaluate(x_test, y_test,batch_size = 10)
5 print('accuracy:', score[1])

InvalidArgumentError: Received a label value of 14 which is outside the valid range of [0, 2). Label values: 6 1 1 7 1 3 7 2 7 7 2 2 5 14 11 2 2 1 4 2 2 2 4 5 2 14 1 3 2 8 6 2
[[{{node loss_21/activation_88_loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits}}]]

◎ このエラーは何を意味しているのでしょうか?

因みに同じプログラムで他のデータ(15列×100行)を処理させた時は正常終了したのですが、なぜか、データを変えるとエラーになります。
処理させたデータは、101列×1万5000行のデータです。
データが大きいことが原因なのでしょうか?

ご指導いただければ、大変助かります。
よろしくお願いいたします。

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

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

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

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

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

fdaskjlfda

2019/09/21 10:42

ここの前の部分のプログラムも載せてもらえると嬉しいです また、 print(type(X_train)) print(X_train.shape) print(Y_train.shape) もmodel = keras.models.Sequential()の前で実行してみて、結果を書くと、手がかりになります
python_2019

2019/09/21 13:00

ご回答ありがとうござました。 お教え頂いた方法で試行錯誤していると、正常に動作しました。
guest

回答1

0

ベストアンサー

エラーの「outside the valid range of [0, 2).」は下記から発生しているかと思います。

model.add(Dense(units=2))

model.add(Activation('softmax'))

出力(ラベル数)が14なら、units=14となるのではないでしょうか。

投稿2019/09/21 10:55

meg_

総合スコア10742

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

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

python_2019

2019/09/21 13:01

ご回答ありがとうございます。 ご指摘頂いた箇所を修正したら、正常に動作しました。 大変、助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問