発生している問題・エラーメッセージ
Error when checking target: expected dense_4 to have 4 dimensions, but got array with shape (20, 3)
該当のソースコード
python
1from keras import layers 2from keras import models 3 4model = models.Sequential() 5 6model.add(layers.Dense(512, activation='relu',input_shape=(298,298,3))) 7#model.add(layers.GlobalAveragePooling2D()) 8model.add(layers.Dense(3, activation='softmax')) 9model.summary() 10 11from keras import optimizers 12 13model.compile(loss='categorical_crossentropy', 14 optimizer=optimizers.RMSprop(lr=1e-4), 15 metrics=['accuracy']) 16 17from keras.preprocessing.image import ImageDataGenerator 18 19# All images will be rescaled by 1./255 20train_datagen = ImageDataGenerator(rescale=1./255) 21validation_datagen = ImageDataGenerator(rescale=1./255) 22test_datagen = ImageDataGenerator(rescale=1./255) 23 24train_generator = train_datagen.flow_from_directory( 25 # This is the target directory 26 train_dir, 27 # All images will be resized to 298*298 28 target_size=(298,298), 29 batch_size=20, 30 # Since we use binary_crossentropy loss, we need binary labels 31 class_mode='categorical') 32 33validation_generator = validation_datagen.flow_from_directory( 34 validation_dir, 35 target_size=(298,298), 36 batch_size=20, 37 class_mode='categorical') 38 39test_generator = test_datagen.flow_from_directory( 40 validation_dir, 41 target_size=(298,298), 42 batch_size=20, 43 class_mode='categorical') 44 45for data_batch, labels_batch in train_generator: 46 print('data batch shape:', data_batch.shape) 47 print('labels batch shape:', labels_batch.shape) 48 break 49#data batch shape: (20, 298, 298, 3) 50#labels batch shape: (20, 3) <=ここが問題? 51 52history = model.fit_generator( 53 train_generator, 54 steps_per_epoch=63, 55 epochs=30, 56 validation_data=validation_generator, 57 validation_steps=630//20) 58#ここでエラーメッセージが表示される 59 60model.save('first.h5')
予想
to_categorical を使うのでしょうか。その場合は、どこに、どのように記述すればよいかも教えて頂きたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。