Arhn - архитектура программирования

Добавить DropOut после загрузки гирь в Керас

Я занимаюсь трансфертным обучением. Что я сделал, так это сначала обучил модель с большими наборами данных и сохранил веса. Затем я тренирую модель с моим набором данных, замораживая слои. Но я вижу, что была некоторая переоснащенность. Поэтому я пытаюсь изменить выпадение модели и загрузить веса, так как числа меняются, а выпадающие меняются. Мне трудно изменить отсев.

Непосредственно мой вопрос: можно ли изменить выпадение модели при загрузке грузов?

мой сценарий 1 такой

  1. модель определена.
  2. обучить модель.
  3. пункт списка
  4. сэкономить вес.
  5. ...

  6. переопределить отсев другие не изменяются в модели

  7. загрузите гири. Я получил ошибку.

2-й сценарий

  1. модель1 определена.

  2. обучить модель.

  3. экономить вес

  4. загрузить вес модели1 в модель1

  5. ....

  6. model2 определяется изменением дропаутов.

  7. попробуйте установить вес модели 1 для модели 2, используя цикл for, за исключением слоя исключения. У меня ошибка.

Это ошибка, которую я получил.

 File "/home/sathiyakugan/PycharmProjects/internal-apps/apps/support-tools/EscalationApp/LSTM_Attention_IMDB_New_open.py", line 343, in <module>
    NewModel.layers[i].set_weights(layer.get_weights())
  File "/home/sathiyakugan/PycharmProjects/Python/venv/lib/python3.5/site-packages/keras/engine/base_layer.py", line 1062, in set_weights
    str(weights)[:50] + '...')
ValueError: You called `set_weights(weights)` on layer "lstm_5" with a  weight list of length 1, but the layer was expecting 3 weights. Provided weights: [array([[ 0.      ,  0.      ,  0.      , ...,  0....

Какой правильный путь? Поскольку я новичок в Керасе, я изо всех сил пытаюсь пойти дальше.


  • Не могли бы вы также опубликовать ошибку? 06.09.2018
  • @ R.yan Обновлено. 06.09.2018

Ответы:


1

Я рекомендую вам загрузить веса с помощью функции model.load_weights("weights_file.h5"), а затем попробовать следующее:

for layer in model.layers:
    if hasattr(layer, 'rate'):
        layer.rate = 0.5

Поскольку только слои Dropout имеют атрибут rate, когда вы найдете слой с этим атрибутом, вы можете его изменить. Здесь я использую 0,5 как вероятность выпадения, вы можете указать желаемое значение.

Изменить: если вы устанавливаете веса слой за слоем, вы можете объединить вышеуказанные if в свои for через слои

ВАЖНО: после этого вам необходимо заново скомпилировать модель:

from keras.optimizers import SGD
model.compile(optimizer=SGD(lr=1e-3, momentum=0.9), loss='categorical_crossentropy', metrics=['accuracy'])

Опять же, параметры, переданные здесь, предназначены только для примера, поэтому измените их в соответствии с вашей проблемой.

06.09.2018
  • Спасибо, я уже сделал. кстати, вы можете использовать if isinstance (layer, Dropout): 06.09.2018
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..