Я новичок в Tensorflow и задавался вопросом, можно ли свести к минимуму функцию одной переменной с помощью Tensorflow.Минимизировать функцию одной переменной в Tensorflow
Например, можно использовать Tensorflow для минимизации 2 * x^2 - 5^x + 4 с использованием начального предположения (скажем, x = 1)?
Я пытаюсь следующее:
import tensorflow as tf
import numpy as np
X = tf.placeholder(tf.float32, shape =())
xvar = tf.Variable(np.random.randn())
f = 2*mul(X,X) - 5*X + 4
opt = tf.train.GradientDescentOptimizer(0.5).minimize(f)
with tf.Session() as sess:
tf.global_variables_initializer().run()
y = sess.run(opt, feed_dict = {X : 5.0}) #initial guess = 5.0
print(y)
Но это дает следующее сообщение об ошибке:
ValueError: No gradients provided for any variable, check your graph for ops that do not support gradients, between variables
Пожалуйста, помогите мне понять, что я делаю неправильно здесь.
Это хорошо, просто чтобы понять, что функция потерь сама оптимизированная функция. –