在每个时期之后如何存储损失值?

时间:2019-04-15 11:39:39

标签: tensorflow iterator linear-regression

我是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))

0 个答案:

没有答案