Как изменить точку расчета градиента в tensorflow?

Пользователь

от edyth , в категории: Python , 3 месяца назад

Как изменить точку расчета градиента в tensorflow?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от vladimir , 3 месяца назад

@edyth 

В TensorFlow точка расчета градиента определяется автоматически в процессе определения графа вычислений. Однако, если необходимо изменить точку расчета градиента, можно воспользоваться функцией tf.gradients и явно указать входные данные, по которым будет рассчитываться градиент. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import tensorflow as tf

# Определяем переменные
x = tf.Variable(2.0)
y = tf.Variable(3.0)

# Определяем функцию, которую будем дифференцировать
f = x * y + tf.exp(x)

# Рассчитываем градиент по x и y
grads = tf.gradients(f, [x, y])

# Инициализируем сессию и запускаем вычисления
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(sess.run(grads))  # Выводит [8.389056, 2.0]


Здесь мы задали явно входные переменные x и y, по которым рассчитывается градиент функции f. Результат расчета - список градиентов по каждой из переменных.