J'ai créé un CNN dans Keras avec 12 couches Convolutional chacune suivie par BatchNormalization, Activation et MaxPooling. Un échantillon de la couche est:Couche de superposition provoque une erreur dans Keras
model.add(Conv2D(256, (3, 3), padding='same'))
model.add(BatchNormalization())
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=2))
Je commence avec 32 cartes de fonctionnalités et se terminent par 512. Si j'ajoute MaxPooling après chaque couche Conv comme dans le code ci-dessus, je reçois une erreur dans la couche finale:
ValueError: Negative dimension size caused by subtracting 2 from 1 for 'max_pooling2d_11/MaxPool' (op: 'MaxPool') with input shapes: [?,1,1,512].
Si j'omets un MaxPooling dans n'importe quelle couche, le modèle compile et commence à s'entraîner. J'utilise Tensorflow comme backend et j'ai la bonne forme d'entrée de l'image dans la première couche.
Y a-t-il des suggestions pour que cela se produise?
Quelle est la forme d'entrée dans la première couche? –
La forme d'entrée est: input_shape = (img_width, img_height, color_channels) en chiffres (256, 256, 3) – Vasilis