步骤
定义计算节点和操作:
"x" 是输入变量。
"Add" 表示加法操作。
"Sub" 表示减法操作。
"Multiply" 表示乘法操作。
计算函数值:
首先,我们将 x0 的值代入计算图中,计算出函数的值。
反向传播计算导数:
我们从输出节点开始,通过计算图的反向传播(Backpropagation)计算导数。
代码实现
python
import tensorflow as tf
# 定义计算图
x = tf.Variable(0.0, name='x')
add_node = x + 2
sub_node = x - 3
multiply_node = add_node * sub_node
# 计算函数值
x_val = 1.0
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
result = sess.run(multiply_node, feed_dict={x: x_val})
print("f(x) =", result)
# 反向传播计算导数
gradient = tf.gradients(multiply_node, x)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
gradient_value = sess.run(gradient, feed_dict={x: x_val})
print("导数 =", gradient_value[0])