У вас уже есть плотный слой в качестве вывода (Linear
).
Нет необходимости замораживать dropout
, поскольку это только масштабирует активацию во время тренировки. Вы можете установить его в режим evaluation
(по сути, этот слой потом ничего не будет делать), выдав:
model.dropout.eval()
Хотя он будет изменен, если вся модель установлена на train
через model.train()
так что следите за этим.
Чтобы заморозить веса последнего слоя, вы можете ввести:
model.classifier.weight.requires_grad_(False)
(или bias
, если вы хотите)
Если вы хотите изменить последний слой на другую фигуру вместо (768, 2)
, просто замените его другим модулем, например,
model.classifier = torch.nn.Linear(768, 10)
Для выходного тензора размера 10
(входная форма должна быть точно такой, как указанов модели, следовательно 768
)