首页 > 其他 > 详细

增加命名空间

时间:2020-06-11 21:34:45      阅读:63      评论:0      收藏:0      [点我收藏+]

为了使代码结构更加清晰,TensorBoard 图结构清楚,可以增加命名空间。

一、代码实例

import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL‘] = ‘2‘
import tensorflow as tf 
def linear_regression(): 
    with tf.variable_scope(‘prepare_data‘): 
        # 一、准备数据 
        X = tf.random_normal(shape=[100,1],name=‘feature‘) 
        y_true = tf.matmul(X,[[0.8]])+0.7 
    with tf.variable_scope(‘create_mode‘): 
        # 二、构造模型 
        # 构造模型参数权重 weight 和偏移 bias
        weight = tf.Variable(initial_value=tf.random_normal(shape=[1,1]),name=‘Weights‘) 
        bias = tf.Variable(initial_value=tf.random_normal(shape=[1,1]),name=‘bias‘) 
        y_predict = tf.matmul(X,weight)+bias
    with tf.variable_scope(‘loss_function‘):
        # 三、构造损失函数
        error = tf.reduce_mean(tf.square(y_predict-y_true))
    with tf.variable_scope(‘optimizer‘):
        # 四、优化损失
        optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.1).minimize(error)
    
    # 2.收集变量(变量实现给图添加可训练的参数,它们在被创建的时候就带有类型属性和初始值)
    tf.summary.scalar(‘error‘,error) 
    tf.summary.histogram(‘weights‘,weight) 
    tf.summary.histogram(‘bias‘,bias)
    # 3.合并变量
    merged = tf.summary.merge_all() 
    #  显示初始化变量 
    init = tf.global_variables_initializer()
    # 开启会话
    with tf.Session() as sess:
        #  运行初始化变量
        sess.run(init)
        # 1.创建事件文件
        file_writer = tf.summary.FileWriter(‘e:/events/test‘,graph=sess.graph)
        print(‘ 查 看 训 练 前 模 型 参 数 : 权 重 : %f , 偏 量 : %f , 损 失:%f‘%(weight.eval(),bias.eval(),error.eval()))

        # 开始训练
        for i in range(100):
            sess.run(optimizer)
            print(‘训练第%d 次后模型参数:权重:%f,偏量:%f,损失:%f‘ % ((i+1),weight.eval(), bias.eval(), error.eval()))
            # 4.运行合并变量
            summary = sess.run(merged)
            # 5.将每次迭代后的变量写入事件文件
            file_writer.add_summary(summary,i)
if __name__ == ‘__main__‘:
    linear_regression()

二、运行结果

技术分享图片

三、变量可视化

  • 1.打开 CMD ,输入命令:tensorboard --logdir="e:/events/test",结果如下:
    技术分享图片
  • 2.打开浏览器,输入http://localhost:6006/,结果如下:
    技术分享图片

增加命名空间

原文:https://www.cnblogs.com/monsterhy123/p/13096174.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!