現在DeepLearningの畳み込みニューラルネットワークについて学習しています。学習するにあたって、自分でもコードを書きながら各行でどのような処理をしているのか理解しようと考え、教材にあったサンプルコードを実際に打ち込み実行しようとしました。使用したサンプルコードは以下の通りです。
from keras import layers from keras import models from keras.datasets import mnist from keras.utils import to_categorical (train_images, train_labels),(test_images, test_labels) = mnist.load_data() train_images = train_images.reshape((60000, 28, 28, 1)) train_images = train_images.astype('float32') / 255 test_images = test_images.reshape((10000, 28, 28, 1)) test_images = test_images.astype('float32') / 255 train_labels = to_categorical(train_labels) test_images = to_categorical(test_labels) model = models.Sequential() model.add(layers.Conv2D(32, (3, 3), activation = 'relu', input_shape = (28, 28, 1))) model.add(layers.MaxPooling2D((2,2))) model.add(layers.Conv2D(64,(3,3), activation = 'relu')) model.add(layers.MaxPooling2D((2,2))) model.add(layers.Conv2D(64,(3,3), activation = 'relu')) model.add(layers.Flatten()) model.add(layers.Dense(64, activation ='relu')) model.add(layers.Dense(10, activation = 'softmax')) model.compile(optimizer = 'rmsprop', loss = 'categorical_crossentropy',metrics = ['accuracy']) model.fit(train_images, train_labels,epochs = 5, batch_size = 64) test_loss,test_acc = model.evaluate(test_images,test_labels) print(test_acc)
実行したところ、途中で以下のようなerrorが出てしまいます。
Error when checking input : expected conv2d-1-input to have 4 dimensions, but got array with shape (10000,10).
test_images = test_images.reshape((10000,28,28,1))で入力をリサイズしているため、入力層に入ると思っていたのですが、何が問題なのでしょうか。教えていただきたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/13 13:27