Как мне изменить inputshape, include_top=False и заморозить из пользовательской модели tensorflow keras

#python #tensorflow #machine-learning #keras #object-detection

#python #tensorflow #машинное обучение #keras #обнаружение объекта

Вопрос:

У меня есть пользовательская модель, сохраненная как model.h5. Я хочу использовать эту предварительно подготовленную модель для обучения передаче. Затем мне нужно изменить форму ввода на (224,224,3), не включая верхний слой, прежде чем я его заморозил. Каков синтаксис для этого? Я знаю, как это сделать с моделью из библиотеки, например:

 base_model = keras.applications.VGG16(
    weights='imagenet',  # Load weights pre-trained on ImageNet.
    input_shape=(224, 224, 3),
    include_top=False) 
  

Я хочу что-то вроде этого:

 from keras.models import load_model

base_model = load_model('model.h5', input_shape=(224,224,3), include_top=False)
base_model.trainable = False

  

Комментарии:

1. Вы должны сделать это вручную, создав подмодель… что для вас верхний / какой слой является частью верхнего?

2. @MarcoCerliani У вас есть пример синтаксиса создания подмодели. И что вы подразумеваете под тем, что для меня является верхним слоем. Я использую кросс-набор данных YOLOv3, а также веса и конфигурацию в этом github