2

このタイプの質問はここで何度も尋ねられていますが、私はこれらの質問から答えを見つけられませんでした。私はグレースケールで100x100のイメージを持っています。非常に最初のレイヤーで2Dコンボリューションを実行しようとすると、次のエラーが発生します。Kerasの2Dコンボリューションでエラーが発生しました

import theano 
    from keras.layers import Activation, Flatten, Dense 
    from keras.layers import Convolution2D,MaxPooling2D 
    from keras.models import Sequential 

    nb_epoch = 40 
    batch_size = 32 
    nb_classes = 2 
    model = Sequential() 
    model.add(Convolution2D(32,3,3,border_mode = 'valid',subsample = (1,1),init = 'glorot_uniform',input_shape = (1,100,100))) 
    model.add(Activation('relu')) 

    train_datagen = ImageDataGenerator(
    rescale=1./255, 
    rotation_range = 300, 
    horizontal_flip=True, 
    vertical_flip = True) 

    test_datagen = ImageDataGenerator(rescale=1./255) 

    train_generator = train_datagen.flow_from_directory(
    train_data_dir, 
    target_size=(img_width, img_height), 
    batch_size=16, 
    class_mode='binary') 

    validation_generator = test_datagen.flow_from_directory(
    test_data_dir, 
    target_size=(img_width, img_height), 
    batch_size=16, 
    class_mode='binary') 

    model.fit_generator(
    train_generator, 
    samples_per_epoch=nb_train_samples, 
    nb_epoch=nb_epoch, 
    validation_data=validation_generator, 
    nb_val_samples=nb_validation_samples) 

私はこのようなエラーを取得しています:モデルの入力をチェックする際にエラー:形状を持つことが期待convolution2d_input_1(なし、1、100、100)が、形状(32、3、100、100)の配列を得ました。私はどこに間違っているのか分からない。

答えて

2

試してみてください。

train_generator = train_datagen.flow_from_directory(
    train_data_dir, 
    target_size=(img_width, img_height), 
    batch_size=16, 
    color_mode='grayscale', 
    class_mode='binary') 

    validation_generator = test_datagen.flow_from_directory(
    test_data_dir, 
    target_size=(img_width, img_height), 
    batch_size=16, 
    color_mode='grayscale 
    class_mode='binary') 
+0

は、それが今取り組んでいる、ありがとうございます。 – Raghuram

関連する問題