Во время обучения нейронной сети градиент обычно вычисляется как loss function
относительно ввода. Это потому, что функция потерь может быть хорошо определена вместе с ее градиентом.
Однако, если вы говорите о градиенте вашего вывода D(x)
, я полагаю, что это некоторый набор векторов. Вам нужно будет определить, как будет вычисляться градиент по отношению к его входным данным (то есть слою, который генерирует выходные данные).
Точные детали этой реализации зависят от используемой вами структуры.