Я пытаюсь построить модель классификации спама, используя tf2.0
и Keras
для проекта. Это должна быть очень хорошая модель, и я хочу повысить ее точность. Спам-изображениями могут быть любые изображения в мире, кроме написанного от руки вопроса или изображения вопроса, например это или this . У меня есть почти 300000 изображений каждой категории, поэтому я хочу переобучить модель со случайными весами, потому что изображения вопросов не были включены в данные imag enet, а у меня достаточно данных. Пожалуйста, подскажите, следует ли мне использовать веса imagenet
вместо . Я хочу улучшить характеристики своей модели. У меня есть примерно такая модель:
res_net = ResNet50(include_top=False,weights=None,input_shape=(224,224,3)) # will try VGG and other models too if needed
av1 = GlobalAveragePooling2D()(res_net.output)
fc1 = Dense(1024,activation='relu')(av1)
fc2 = Dense(512,activation='relu')(fc1)
fc3 = Dense(256,activation='relu')(fc2)
d1 = Dropout(0.5)(fc3)
fc4 = Dense(1,activation='sigmoid')(d1)
model = Model(inputs=res_net.input, outputs= fc4)
Qusetions :
Мои изображения являются изображениями вопросов, а ширина в большинстве случаев больше высоты, поэтому я изменяю размер все изображения в (224,224) или в min(width or height)
во всем наборе данных (но это может подавить детали для больших изображений)?
Я знаю, что использование плотных слоев до меня, но я не могу используйте все возможные комбинации units
и number of layers
из-за очевидных ограничений по времени, памяти и мощности. Итак, если я использую много плотных слоев / блоков, не буду ли я переоснащать свою модель, поскольку в этих архитектурах giganti c уже много слоев?
Должен ли я использовать 3 канала или 1? Изображения вопросов в основном черные с белым фоном, поэтому обучение будет быстрым, но 3 канала могут дать лучшие результаты IMO ??