Вопросы

Как обновить слои классификации без изменения весов для сверточных слоев

У меня есть CNN с многочисленными сверточными слоями. К каждому из этих сверточных слоев я прикрепил классификатор для проверки выходных данных промежуточных слоев. После того, как потери были произведены для каждого из этих классификаторов, я хочу обновить веса для классификатора, не касаясь весов для сверточных слоев. Этот код:

for i in range(len(loss_per_layer)):
    loss_per_layer[i].backward(retain_graph=True)
    self.classifiers[i].weight.data -= self.learning_rate * self.alpha[i] * self.classifiers[i].weight.grad.data
    self.classifiers[i].bias.data -= self.learning_rate * self.alpha[i] * self.classifiers[i].bias.grad.data

позволяет мне сделать это, если классификатор состоит из единственного nn.Linear слоя. Однако мои классификаторы имеют форму:

self.classifiers.append(nn.Sequential(
    nn.Linear(int(feature_map * input_shape[1] * input_shape[2]), 100),
    nn.ReLU(True),
    nn.Dropout(),
    nn.Linear(100, self.num_classes),
    nn.Sigmoid(),
    ))

Как я могу обновить веса последовательного блока, не касаясь остальной сети? Я недавно перешел с keras на pytorch и поэтому не уверен, как именно использовать функцию optimizer.step () в этой ситуации, но у меня есть подозрение, что это можно сделать с ее помощью.

Читать:
Как настроить клиент DynamoDB на AWS (JAVA)

Обратите внимание, мне нужно общее решение для последовательного блока любой формы, так как оно изменится в будущих итерациях модели.

Любая помощь горячо приветствуется.

Похожие записи

Необработанное исключение flutter: тип ‘_InternalLinkedHashMap ‹String, dynamic›’ не является подтипом типа ‘Iterable ‹dynamic›’

admin

Как инициализировать вектор указателей

admin

Невозможно установить NodeJs: / usr / bin / env: node: нет такого файла или каталога

admin

Почему при использовании массивов текстур не нужно привязывать семплер к шейдеру?

admin

Почему динамические цвета из моего каталога цветов не работают на моей панели навигации?

admin

Как настроить расширение vscode phpunit для запуска теста с помощью docker-compose

admin