Я хотел бы получить кросс-градиент для моей функции Монте-Карло, которую я использую в программе 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()}```