我是tensorflow的新手,并在下面的代码中编写了多元线性回归。我想在每个时期后存储损失值,如何使用迭代器来做到这一点?而且,如果您能告诉我们,为什么这个特定的代码要花太多时间来完成?
我尝试使用placeholder
,效果很好。但是我想知道是否有办法使用迭代器,例如feed_dict
。
使用的数据集是sklearn的糖尿病数据集。
W = tf.get_variable(name="W", initializer=tf.zeros([10,1]))
B = tf.get_variable(name="B", initializer=tf.constant(0.0))
P = tf.matmul(tf.reshape(X, [1,10]), W) + B
loss = tf.reduce_mean(tf.square(Y - P), name="loss")
optimizer = tf.train.GradientDescentOptimizer(name="GraDesc", learning_rate=0.1).minimize(loss)
with tf.Session() as ses:
ses.run(tf.global_variables_initializer())
for i in range(100000):
ses.run(iterator.initializer)
total_loss = 0
try:
while True:
ses.run(optimizer)
except tf.errors.OutOfRangeError:
pass
print(ses.run(W), ses.run(B))