pytorch делает индивидуальное обновление градиента с меткой - PullRequest
0 голосов
/ 06 октября 2019

Я хочу сделать настроенное обновление градиента, как показано ниже, изменяя значение backprop среднего слоя (dL / dx_midlayer = dL / dx_midlayer + some_custom_value_using_'label ')

for epoch in range(epochs):
    x, y = some_inputs
    output = model(x)
    loss = criterion(output, label)

    backprop_grad_until_last_conv = loss.backward_until_last_conv...()
    x_hat = last_conv_input_features
    backprop_grad_until_last_conv += customfunc(x_hat, label, epoch)

    loss.backward_after_last_conv...()
    optimizer.step()

Я сделал слой для пользовательской обратной функции,но не может получить аргумент label и epoch, потому что обратный аргумент torch.nn.Module - (self, grad_output), поэтому я просто делаю обратную функцию, которая может использовать 'label' и 'epoch'

. способ, который может сделать это ..?

...