Как я просто вычисляю часть градиента, используя make_functional в pytorchPython

Программы на Python
Anonymous
Как я просто вычисляю часть градиента, используя make_functional в pytorch

Сообщение Anonymous »

Код: Выделить всё

func_model, func_params = make_functional(self.model)
def fm(x, func_params):
fx = func_model(func_params, x)
return fx.squeeze(0).squeeze(0)
def floss(func_params,input):
fx = fm(input, func_params)
return fx

per_sample_grads =vmap(jacrev(floss), (None, 0))(func_params, input)
В этом коде per_sample_grads включает всю градацию сетевой модели путем ввода некоторых данных. Однако я хочу получить небольшую часть диплома. И получить весь градиент — это какая-то трата в моих кодах. Я хочу сэкономить время на этом этапе auto_grad. Как мне этого добиться?
Как мне вычислить градиенты только для части модели, чтобы сэкономить время?»

Подробнее здесь: https://stackoverflow.com/questions/789 ... in-pytorch

Вернуться в «Python»