基本张量流优化示例

时间:2017-10-04 13:08:07

标签: python tensorflow

我对tensorflow相当新,试图计算二次函数的argmin。我希望在每次迭代后看到x和y的值。代码:

import tensorflow as tf

x = tf.Variable(1.0,name="x")
y = x**2 - 4*x + 3
alpha = 0.05

optimizer = tf.train.AdamOptimizer(learning_rate = alpha).minimize(y)
num_epochs = 20

init = tf.global_variables_initializer()

with tf.Session() as sess:
    sess.run(init)
    for epoch in range(num_epochs):
        print("Epoch: %d" %epoch)
        opt,x,result = sess.run([optimizer,x,y])
        print(result)

我得到的错误是参数的类型无效,必须是字符串或Tensor。

如果我不尝试获取x的值,只需y和opt。

,它就有效

1 个答案:

答案 0 :(得分:0)

在你的行

opt,x,result = sess.run([optimizer,x,y])

x 操作的评估结果分配给变量 x - 因此,在下一次迭代中, x 不再是{{ 1}}但是前一次迭代的结果。只需为变量使用另一个名称,它应该可以工作。