Подключите предварительно обученную модель с керасом без верха к пользовательской топ-модели

Я делаю обучение с использованием кераса. вот что я сделал:

  • загрузить предварительно обученную модель (Mobilnet) без верха.
  • построить модель из нескольких слоев, вход - выход mobilnet, а выход - softmax (классификационная миссия)
  • Теперь я тренирую топ-модель на изображениях бот-шеи в качестве входных данных (после прохождения через mobilnet)
  • наконец, я хочу подключить топ-модель и мобилнет к полной модели, которая получает изображения и прогнозирует классификацию.

псевдокод:

mnet=MobileNet(include_top=False,pooling='max',
weights='imagenet',input_shape=(224,224,3))
my_net = bottle_neck = Input(shape=(1024,)) 
some_layer = Dense(100 ,activation='relu')(bottle_neck)  
...
final_layer=Dense(6,activation='softmax')(prev_layers)

моя цель - подключить мобилнет и мою сеть без поезда снова спасибо

1 ответ

Это описано в документации Keras, см. Https://keras.io/applications/#fine-tune-inceptionv3-on-a-new-set-of-classes

Ключевые вещи - использовать выходные данные базовой модели в качестве входных данных вашей модели (mnet.output) и установить уровень охвата базовой модели как trainable = False

Другие вопросы по тегам