Многозначный классификатор с использованием MobileNetV1 - PullRequest
1 голос
/ 08 октября 2019

Я хочу обучить модель, чтобы можно было классифицировать 16 цифр на изображении, цифры - это константы. Поэтому я создаю свой набор данных, подобный этим изображениям (напечатайте случайное 16 число с другим шрифтом и размером на фоне набора данных SUN):

enter image description here

Мой набор данных о тренировке3000 изображений и 600 изображений для проверки.

Поэтому я хотел использовать MobileNetV1 в качестве экстрактора функций и подключиться к 16 выходным слоям softmax для каждой цифры.

Вот мой фрагмент кода для создания модели

base_model = MobileNet(input_shape=None,
                           alpha=0.25,
                           depth_multiplier=1,
                           include_top=False,
                           weights='imagenet,
                           input_tensor=None,
                           pooling=None)

    x = base_model.output
    x = layers.AvgPool2D()(x)
    digits = []
    for i in range(16):
        temp = layers.Conv2D(10, 1, 1, padding='same', name=str(i) + '_digits')(x)

        temp = layers.Dense(10, activation='softmax')(temp)
        digits.append(temp)

    model = Model(inputs=base_model.inputs, outputs=digits)
    model.compile(optimizer=optimizers.RMSprop(), loss='categorical_crossentropy',
                  metrics=['accuracy'])

, поэтому мой размер изображения набора данных (650,65) и форма тензора поезда (3000,650,65,3) с нормализованными значениями от -1 до 1

и метками моего поездаэто 16 массивов одного горячего тензора с формой (16,3000,10)

моя модель успешно скомпилирована и обучение началось, но моя потеря и val_loss не улучшились в эпоху.

В основном я хотелсоздайте модель, подобную этой фотографии, потому что эта модель отлично работает над этой проблемой классификации цифр. enter image description here

Верхом этой модели архитектуры является что-то вроде MobileNetV1, а входом являются блоки изменения и нормализации.

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