Получение последнего слоя из предварительно обученного питчера для трансферного обучения? - PullRequest
0 голосов
/ 20 мая 2019

Вот что я сделал:

list(tmp.state_dict().keys())[-1].split('.')[0]

Как правильно? Моя цель - заменить последний слой для целей трансферного обучения.

1 Ответ

1 голос
/ 20 мая 2019

Вы можете просто выполнить следующие шаги, чтобы получить последний слой из предварительно обученной модели Pytorch:

  • Мы можем получить слои с помощью model.children ().
  • Преобразуйте это в список с помощью команды list ().
  • Удалить последний слой, проиндексировав список.
  • Наконец, используйте функцию PyTorch nn.Sequential (), чтобы объединить этот измененный список в новую модель.

    nn.Sequential(*list(model.children())[:-1])

Подробнее об этом можно прочитать по здесь .

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