Затем я строю модели на основе предварительно обученных моделей из tf-hub или keras.applications (я использую то же сверточное ядро), размер результирующего размера файла (ов) модели после model.save () или tf.saved_model.save составляет около 10 Мб. После обучения размер модели увеличился до 30 МБ!
Если я сохраню модель после тренировки, заново создам модель и загружу веса из обученной модели; она будет предсказывать ожидаемый результат и иметь размер файла (-ов)10Mb.
Код, который я использую для создания модели.
MODULE_HANDLE = 'https://tfhub.dev/google/imagenet/mobilenet_v2_100_224/feature_vector/4'
model = tf.keras.Sequential([
hub.KerasLayer(MODULE_HANDLE, trainable=True),
tf.keras.layers.Dense(train_gen.num_classes, activation='softmax')
])
model.build((None,)+IMAGE_SIZE)
Я ожидаю, что это связано с сохранением обучающей информации, такой как состояние оптимизатора. Итак, есть ли правильный способ сохранить модель для вывода без этого трюка save-воссоздать-load_weights?