У меня есть модель, которую я обучил, я пытаюсь;
- Загрузка базовой модели (выполнено)
- Загрузка слоя из него (сделано)
- Замораживание слоя (сделано)
- Выгрузить базовую модель (СБОЙ)
- Добавить слой в другую модель (готово)
- Модель поезда (СБОЙ)
Я получаю сообщение об ошибке памяти, что является нормальным явлением, поскольку в моей памяти 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 () представлены в комментариях, так как они используются в комбинациях и используются во всех комбинациях, поскольку используются оба, используются каждый, не используются.