В Keras 2.2.4 с бэкэндом TF;Как выгрузить модель после извлечения из нее слоя при сохранении слоя? - PullRequest
0 голосов
/ 13 апреля 2019

У меня есть модель, которую я обучил, я пытаюсь;

  1. Загрузка базовой модели (выполнено)
  2. Загрузка слоя из него (сделано)
  3. Замораживание слоя (сделано)
  4. Выгрузить базовую модель (СБОЙ)
    • если я пропущу 4
  5. Добавить слой в другую модель (готово)
  6. Модель поезда (СБОЙ)

Я получаю сообщение об ошибке памяти, что является нормальным явлением, поскольку в моей памяти GPU есть две модели.

  • ЕСЛИ я использую K.clear_session (), я получаю сообщение об ошибке, что слой и модель не принадлежат одному графику.
  • Если я выбрал модель, у меня все еще не хватает памяти.
  • Если я использую gc.collect, мне все равно не хватает памяти.

    baseModel = load_model("arbitaryModelName.h5")
    layerOne = baseModel.get_layer("LayerOne")
    del baseModel
    layerOne.Trainable = False
    # K.clear_session()
    # gc.collect()
    
    modelInput = Input(shape=(n, s, 1), name="modelInput")
    
    x = layerOne(modelInput)
    x = Dropout(dProba)(x)
    
    x = ArbitaryLayerAndLotsofIt(x)
    

K.clear_session и gc.collect () представлены в комментариях, так как они используются в комбинациях и используются во всех комбинациях, поскольку используются оба, используются каждый, не используются.

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