Перекрестная переменная градиента второго порядка Tensorflow 2.0 - PullRequest
0 голосов
/ 03 мая 2020

Я хотел бы получить кросс-градиент для моей функции Монте-Карло, которую я использую в программе tenorflow 2.0.

Я могу рассчитать первый и второй градиенты, как показано в коде в конце. Однако я хотел бы рассчитать dy / (dx1 * dx2), а не просто dy / (dx1 ^ 2). Возможно ли это с помощью Tensorflow 2.0 GradientTape ()?

Вот мой код ...

        with tf.GradientTape() as g2:
            npv = pricer_montecarlo(**v, dw=dw)

        dv = g2.gradient(tf.convert_to_tensor(npv, dtype=tf.float32), v)

    dv_2 = g1.gradient(dv, v)
    out["npv"] = npv.numpy()
    out["dv"] = {k: v.numpy() for k, v in dv.items()}

    out["dv_2"] = {k: v.numpy() for k, v in dv_2.items()}```
...