РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
377 of 824 menu

Метод jacobian

Метод jacobian класса GradientTape вычисляет матрицу Якоби для функции или тензора относительно отслеживаемых переменных. Метод применяется к целевому тензору и возвращает тензор, содержащий частные производные. Первым параметром передаётся целевой тензор, вторым - список или структура отслеживаемых тензоров, третьим - параметр unconnected_gradients, определяющий поведение при отсутствии связи.

Синтаксис

GradientTape.jacobian(target, sources, unconnected_gradients=tf.UnconnectedGradients.NONE)

Пример

Давайте вычислим матрицу Якоби для простой функции относительно одной переменной:

import tensorflow as tf x = tf.constant([1.0, 2.0, 3.0]) with tf.GradientTape() as tape: tape.watch(x) y = x * x jac = tape.jacobian(y, x) print(jac)

Результат выполнения кода:

tf.Tensor( [[2. 0. 0.] [0. 4. 0.] [0. 0. 6.]], shape=(3, 3), dtype=float32)

Пример

Давайте вычислим матрицу Якоби для функции двух переменных:

import tensorflow as tf x = tf.constant([1.0, 2.0]) y = tf.constant([3.0, 4.0]) with tf.GradientTape() as tape: tape.watch([x, y]) z = x * y + x jac = tape.jacobian(z, [x, y]) print(jac[0]) print(jac[1])

Результат выполнения кода:

tf.Tensor( [[4. 0.] [0. 3.]], shape=(2, 2), dtype=float32) tf.Tensor( [[1. 0.] [0. 2.]], shape=(2, 2), dtype=float32)

Пример

Давайте вычислим матрицу Якоби для нелинейной функции с несколькими выходами:

import tensorflow as tf x = tf.constant([1.0, 2.0, 3.0]) with tf.GradientTape() as tape: tape.watch(x) y = tf.stack([x * x, tf.math.sin(x)]) jac = tape.jacobian(y, x) print(jac)

Результат выполнения кода:

tf.Tensor( [[[2. 0. 0.] [0. 4. 0.] [0. 0. 6.]] [[0.5403023 0. 0.] [0. 0.41614684 0.] [0. 0. 0.9899925]]], shape=(2, 3, 3), dtype=float32)

Смотрите также

  • класс GradientTape,
    который записывает операции для автоматического дифференцирования
  • метод gradient,
    который вычисляет градиент функции
  • метод batch_jacobian,
    который вычисляет матрицу Якоби для батча
  • метод watch,
    который начинает отслеживание тензора
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить