使用Tensorboard增加變量顯示

通過Tensorboard查看模型的參數、損失值等量值的變化。

import tensorflow as tf
import numpy as np


def linear_regression():
    # 1、準備數據
    x = tf.random_normal(shape=[100, 1])
    y_true = tf.matmul(x, [[0.8]]) + 1.2
    # 2、創建迴歸模型
    weights = tf.Variable(initial_value=tf.random_normal(shape=[1, 1]))
    bias = tf.Variable(initial_value=tf.random_normal(shape=[1, 1]))
    y_predict = tf.add(tf.matmul(x, weights), bias)
    # 3、構造損失函數
    error = tf.reduce_mean(tf.square(y_predict - y_true))
    # 4、創建優化器,優化損失
    optimizer = tf.compat.v1.train.GradientDescentOptimizer(0.01).minimize(error)
    init = tf.compat.v1.global_variables_initializer()

    # 第二步:收集變量(包括標量及高維變量)
    tf.summary.scalar("error", error)
    tf.summary.histogram("weights", weights)
    tf.summary.histogram("bias", bias)
    # 第三步:合併變量
    merged = tf.summary.merge_all()

    with tf.compat.v1.Session() as sess:
        sess.run(init)

        # 第一步:創建事件文件,寫明存儲事件文件的目標路徑
        file_writer = tf.summary.FileWriter(r'C:\Users\User_name\Desktop\Con-LSTM\linear', graph=sess.graph)

        for i in range(100):
            sess.run(optimizer)
            print("weights = %f\t bias = %f\t error = %f" % (weights.eval(), bias.eval(), error.eval()))

            # 第四步:運行合併變量操作
            train_summary = sess.run(merged)
            # 第五步:將每次迭代後的變量寫入事件文件
            file_writer.add_summary(train_summary, i)

    return None


if __name__ == "__main__":
    linear_regression()

之後在cmd中輸入:tensorboard --logdir=“C:\Users\User_name\Desktop\Con-LSTM\linear”(即事件文件所在路徑),打開Chrome,輸入http://localhost:6006/ 即可打開tensorboard查看量值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章