Как я могу сохранить значение потерь после каждой эпохи? - PullRequest
0 голосов
/ 15 апреля 2019

Я новичок в 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))
...