Как уменьшить размер сохраняемой модели керас? - PullRequest
0 голосов
/ 21 октября 2019

Затем я строю модели на основе предварительно обученных моделей из 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?

1 Ответ

0 голосов
/ 11 ноября 2019

Попробуйте установить include_optimizer=False в tf.keras.Model.save() или tf.keras.models.save_model() соответственно.

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