Я новичок в tenorflow и написал ниже код для многомерной линейной регрессии. Я хочу хранить значение потерь после каждой эпохи, как мне это сделать с помощью итератора? А также, если бы вы могли сказать, почему этот конкретный код занимает слишком много времени для завершения?
Я пытался использовать 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))