前提・実現したいこと
kerasを用いたニューラルネットワークのsoftmax層の出力を10個にしたい
発生している問題・エラーメッセージ
kerasを用いてmnistのデータセットを学習するニューラルネットワークの構築をしています。mnistは0~9の数字のデータセットなので出力を10個にしたいのですが、最後の層であるsoftmax層の出力が1個になってしまいます。
エラーメッセージ
expcted dense_2 to have shape (10,) but got array with shape (1,)
該当のソースコード
python
1ソースコード
データセットの読み込み
from keras.datasets import mnist
(train_data,train_labels),(test_data,test_labels)=mnist.load_data()
#訓練、テストデータのベクトル化
x_train=train_data.reshape((60000,2828))
x_test=test_data.reshape((10000,2828))
y_train=train_labels.astype('float32')/255
y_test=test_labels.astype('float32')/255
#モデルの定義
from keras import models
from keras import layers
model=models.Sequential()
model.add(layers.Dense(32,activation='relu',input_shape=(28*28,)))
model.add(layers.Dense(10,activation='softmax'))
#モデルのコンパイル
model.compile(optimizer='rmsprop',loss='categorical_crossentropy',metrics=['accuracy'])
#モデルの訓練
model.fit(x_train,y_train,epochs=10,batch_size=128)
試したこと
ここに問題に対して試したことを記載してください。
部分的に消しながら試してみたのですがmodel.fitがエラーの原因のようです。
しかし解決方法が思いつきませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/31 04:59