import tensorflow as tf
input_data = tf.constant([[1.,1.]])
output_data = tf.constant([[1.,0.]])
weight = tf.Variable([[1.,1.],
[1.,1.]])
sess = tf.Session()
sess.run(tf.global_variables_initializer())
optimizer = tf.train.GradientDescentOptimizer(0.1)
for epoch in range(1000):
y = tf.matmul(input_data, weight)
loss = (output_data[0][0] - y[0][0])**2 + (output_data[0][1] - y[0][1])**2
sess.run(optimizer.minimize(loss))
print(epoch)
随着纪元的进行,上述程序变得越来越慢。我认为这是因为在每个时期都不断添加新节点。我该如何处理?
答案 0 :(得分:3)
尝试一下...
function (doc)
原始代码在每个时期重新创建图形。如果以这种方式进行操作,则该图形仅创建一次,并且循环中唯一的工作是渐变计算/更新。