При печати сводки модели для модели CNN входной слой представляет собой целое число мусора.Также у обученной модели ошибка 96% - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь создать модель, которая распознает статические жесты, используя CNN.У меня есть 26 жестов и 2400 изображений для всех жестов.Однако в модели отсутствует входной слой и ошибка 96%.

Я новичок, поэтому понятия не имею о большинстве вещей.Я пытался изменить некоторые вещи, но это не помогло.

/// это моя модель

def cnn_model():
    num_of_classes = get_num_of_classes()
    model = Sequential()
    model.add(Conv2D(16, (2,2), input_shape=(image_x, image_y, 1), activation='relu'))
    model.add(MaxPooling2D(pool_size=(2, 2), strides=(2, 2), padding='same'))
    model.add(Conv2D(32, (5,5), activation='relu'))
    model.add(MaxPooling2D(pool_size=(5, 5), strides=(5, 5), padding='same'))
    model.add(Conv2D(64, (5,5), activation='relu'))
    #model.add(MaxPooling2D(pool_size=(5, 5), strides=(5, 5), padding='same'))
    model.add(Flatten())
    model.add(Dense(128, activation='relu'))
    model.add(Dropout(0.2))
    model.add(Dense(num_of_classes, activation='softmax'))
    sgd = optimizers.SGD(lr=1e-2)
    model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])
    filepath="cnn_model_keras2.h5"
    checkpoint1 = ModelCheckpoint(filepath, monitor='val_acc', verbose=1, save_best_only=True, mode='max')
    #checkpoint2 = ModelCheckpoint(filepath, monitor='val_loss', verbose=1, save_best_only=True, mode='min')
    callbacks_list = [checkpoint1]
    from keras.utils import plot_model
    plot_model(model, to_file='model.png', show_shapes=True)
    return model, callbacks_list

/// training and testing

model, callbacks_list = cnn_model()
    model.summary()
    model.fit(train_images, train_labels, validation_data=(test_images, test_labels), epochs=20, batch_size=500, callbacks=callbacks_list)
    scores = model.evaluate(test_images, test_labels, verbose=0)

Я ожидаю максимум 20% потерь, но потеря 96%.Кроме того,

ожидаемое резюме модели:

https://imgur.com/66Yggvh

что я получил:

https://imgur.com/AzpgvFN

Это мой первыйвопрос на любом форуме, поэтому, пожалуйста, потерпите меня.

1 Ответ

0 голосов
/ 29 марта 2019

Я думаю, вы могли бы отследить эту странную ошибку здесь: keras plot_model вставляет странную первую строку ввода, содержащую длинное целое число # 11376

Это похоже на открытую проблему в Keras.Может быть, проверьте вашу версию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...