zoukankan      html  css  js  c++  java
  • 增加命名空间

    为了使代码结构更加清晰,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/,结果如下:
    正是江南好风景
  • 相关阅读:
    现在, Delphi 的多线程已经非常易用了!
    发现 TSplitter 在嵌套时不好用, 索性写了个替代品
    关于显示透空歌词的思路 回复 "zhaoboaidelphi" 的问题
    简单获取钢琴 88 个键的音高频率值
    准备理一下菜单和工具栏相关的组件
    在 StringGrid 上画线时, 使用 GDI+ 以消除锯齿 回复 "gsjn_8888_6666" 的问题
    解压 svgz 到 svg
    jQuery能做到,PHP能做到,C#也能做到
    监测ASP.NET应用程序性能最简单的方法
    支持高并发的IIS Web服务器常用设置
  • 原文地址:https://www.cnblogs.com/monsterhy123/p/13096174.html
Copyright © 2011-2022 走看看