Pytorch: Как отодвинуть назад только часть рекурсивного дерева? - PullRequest
0 голосов
/ 15 февраля 2019

Предположим, у меня есть

result = mynet1(input)

calculated_value1 = result
calculated_value2 = calculated_value1 * result

, и я хочу получить result только с использованием обратного выражения calculated_value2, но не внутреннего result, полученного из calculated_value1

Значение, Я хочу, чтобы

calculated_value2.backward()

ссылался на calculated_value1 как на константу, даже если она зависит от result, так что градиент будет зависеть только от result один раз, а не result^2.

Очевидно, что result.detach () не сработает, потому что тогда у всего выражения не будет параметров для оптимизации.

Как мне добиться описанного поведения?


Разъяснение намерений:

Я намерен реализовать раздел 13.5 этой книги

enter image description here

, в котором delta зависит от V, но не выводится, а само V получается.


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

...