Ошибка значения VGG-19 - отрицательный размер - PullRequest
0 голосов
/ 05 февраля 2020

Я собираюсь разработать сим-модель модели cnn для VGG-19. Код модели выглядит следующим образом.

model = Sequential([
    #layer set 1 VGG-19
    Input(shape=(IMG_HEIGHT, IMG_WIDTH ,3)),
    ZeroPadding2D(padding=(1,1), data_format='channels_last'),
    Conv2D(64, 3, 3, padding='same', activation='relu', data_format='channels_last'),
    ZeroPadding2D(padding=(1,1), data_format='channels_last'),
    Conv2D(64, 3, 3, padding='same', activation='relu', data_format='channels_last'),
    MaxPooling2D((2,2), strides=(2,2), data_format='channels_last'),

    #layer set 2
    ZeroPadding2D(padding=(1,1), data_format='channels_last'),
    Conv2D(128, 3, 3, padding='same', activation='relu', data_format='channels_last'),
    ZeroPadding2D(padding=(1,1), data_format='channels_last'),
    Conv2D(128, 3, 3, padding='same', activation='relu', data_format='channels_last'),
    MaxPooling2D((2,2), strides=(2,2), data_format='channels_last'),

    #layer set 3
    ZeroPadding2D(padding=(1,1), data_format='channels_last'),
    Conv2D(256, 3, 3, padding='same', activation='relu', data_format='channels_last'),
    ZeroPadding2D(padding=(1,1), data_format='channels_last'),
    Conv2D(256, 3, 3, padding='same', activation='relu', data_format='channels_last'),
    ZeroPadding2D(padding=(1,1), data_format='channels_last'),
    Conv2D(256, 3, 3, padding='same', activation='relu', data_format='channels_last'),
    ZeroPadding2D(padding=(1,1), data_format='channels_last'),
    Conv2D(256, 3, 3, padding='same', activation='relu', data_format='channels_last'),
    MaxPooling2D((2,2), strides=(2,2), data_format='channels_last', padding='same'),

    #layer set 4
    ZeroPadding2D(padding=(1,1), data_format='channels_last'),
    Conv2D(512, 3, 3, padding='same', activation='relu', data_format='channels_last'),
    ZeroPadding2D(padding=(1,1), data_format='channels_last'),
    Conv2D(512, 3, 3, padding='same', activation='relu', data_format='channels_last'),
    ZeroPadding2D(padding=(1,1), data_format='channels_last'),
    Conv2D(512, 3, 3, padding='same', activation='relu', data_format='channels_last'),
    ZeroPadding2D(padding=(1,1), data_format='channels_last'),
    Conv2D(512, 3, 3, padding='same', activation='relu', data_format='channels_last'),
    MaxPooling2D((2,2), strides=(2,2), data_format='channels_last'),

    #layer set output
    Flatten(),
    Dense(4096, activation='relu'),
    Dropout(0.5),
    Dense(4096, activation='relu'),
    Dropout(0.5),
    Dense(1000, activation='softmax')
])

Когда я создаю модель, она выдает следующую ошибку.

Negative dimension size caused by subtracting 2 from 1 for 'max_pooling2d_10/MaxPool' (op: 'MaxPool') with input shapes: [?,1,1,512].

keras 2 не имеют атрибута dim_ordering. Поэтому я добавил «data_format». Как я могу решить эту проблему?

Снимок экрана enter image description here

...