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

Система уравнений в TensorFlow

Функция solve из блока линейной алгебры находит вектор x, для которого выполняется A x = b. Коэффициенты и правая часть могут быть переменными - тогда лента проводит градиент через найденное решение.

Зададим таблицу 2×2 и столбец правых частей, выведем корень и производные суммы координат по коэффициентам:

import tensorflow as tf A = tf.Variable([[2.0, 1.0], [1.0, 3.0]]) b = tf.Variable([[5.0], [7.0]]) with tf.GradientTape() as tape: sol = tf.linalg.solve(A, b) loss = tf.reduce_sum(sol) gA, gb = tape.gradient(loss, [A, b]) print(sol) # выведет tf.Tensor([[1.5999999] [1.8000001]], shape=(2, 1), dtype=float32) print(gA) # выведет tf.Tensor([[-0.64 -0.72] [-0.32 -0.36]], shape=(2, 2), dtype=float32) print(gb) # выведет tf.Tensor([[0.4] [0.2]], shape=(2, 1), dtype=float32)

Скаляр можно взять и из одной координаты решения - градиент пойдёт по тем же правилам:

import tensorflow as tf A = tf.Variable([[2.0, 1.0], [1.0, 3.0]]) b = tf.Variable([[5.0], [7.0]]) with tf.GradientTape() as tape: sol = tf.linalg.solve(A, b) loss = sol[0, 0] gA = tape.gradient(loss, A) print(gA) # выведет tf.Tensor([[-0.96 -1.08] [ 0.32 0.36]], shape=(2, 2), dtype=float32)

Составьте систему 2×2 с таблицей коэффициентов [[3.0, 1.0], [1.0, 2.0]] и столбцом правых частей [[4.0], [3.0]]. Найдите корень, возьмите сумму его координат и выведите производные этой суммы по таблице и по столбцу.

Для той же размерности задайте свои коэффициенты и правые части, получите решение на ленте и выведите градиент первой координаты корня по таблице коэффициентов.

Постройте систему из двух уравнений с двумя неизвестными, сделайте переменными и таблицу, и столбец свободных членов. Выведите корень и частную производную суммы координат по первому элементу столбца.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить