TensorFlow 1.x学习(系列二 :3):变量与tensorboard可视化

文章目录

    • 1.变量
    • 2.可视化学习 Tensorboard
    • 3.可视化过程中遇到的问题:

import tensorflow as tf

1.变量

变量op:

变量也是一种OP,是一种特殊的张量,能够进行存储持久化,它的值就是张量,默认被训练

和常量不同(可以在会话中直接print(sess.run())打印结果),需要初始化变量(tf.global_variables_initializer(),这是是一个初始化所有变量的op,在会话中开启)

tf.Variable(initial_value = None,name = None,trainable = True)

    - 作用:创建一个带值(initial_value)的新变量
    
    - assign(value):为变量分配一个新值,返回新值
    
    - eval(session = None):计算并返回此变量的值
        
    - name 表示变量名字
# 变量op示例
# 1.变量能够持久化保存,普通张量op是不行的
# 2.当定义一个变量op的时候,一定要在会话当中去运行初始化

a = tf.constant([1,2,3,4,5])

var = tf.Variable(tf.random_normal([2,3],mean = 0.0,stddev = 1.0))

# 必须做一步显示的初始化op
init_op = tf.global_variables_initializer()

with tf.Session() as sess:
    # 必须运行初始化op
    sess.run(init_op)
    
    print(sess.run([a,var]))
[array([1, 2, 3, 4, 5]), array([[ 1.421473 ,  0.6449843, -1.0459968],
       [ 1.8416445,  0.7362613,  0.7117497]], dtype=float32)]

2.可视化学习 Tensorboard

- 数据序列化-events文件:TensorBoard 通过TensorFlow的事件文件来运行

- tf.summary.FileWritter('/temp/tensorflow/summary/test/',graph = )
  返回filewriter,写入事件文件到指定目录(最好用绝对路径),以提供给tensorboard使用
  
- 开启(windows 打开cmd)输入命令:'tensorboard -logdir= "./tmp/summary/test/"
  一般浏览器打开为 127.0.0.1:6006

注:修改程序后:再保存一遍会有新的事件文件,打开默认为最新

# 变量op示例
# 1.变量能够持久化保存,普通张量op是不行的
# 2.当定义一个变量op的时候,一定要在会话当中去运行初始化
# 3.name参数:在tensorboard使用的时候显示名字,可以让相同op名字的进行区分

a = tf.constant(3.0,name = "a")

b = tf.constant(4.0,name = "b")

c = tf.add(a,b,name = "add")

var = tf.Variable(tf.random_normal([2,3],mean = 0.0,stddev = 1.0),name = "variable")

# 必须做一步显示的初始化op
init_op = tf.global_variables_initializer()

with tf.Session() as sess:
    # 必须运行初始化op
    sess.run(init_op)
    
    # 把程序的图结构写入事件文件,graph:把指定的图写进事件文件当中
    filewriter = tf.summary.FileWriter("./tmp/summary/test/",graph = sess.graph)
    print(sess.run([c,var]))
[7.0, array([[-0.2760799 ,  0.66796315, -0.69428635],
       [-1.8395584 ,  0.47626588, -1.0956659 ]], dtype=float32)]

cmd中输入相应命令:tensorboard --logdir=C:\Users\24474\Desktop\DataAnalysis\classification_working\tmp\summary\test\ --port=6006
TensorFlow 1.x学习(系列二 :3):变量与tensorboard可视化_第1张图片
打开上述网址即可看到可视化结果
TensorFlow 1.x学习(系列二 :3):变量与tensorboard可视化_第2张图片

3.可视化过程中遇到的问题:

1:报错: ‘tensorboard’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
解决方法:确保tensorboard是在系统环境变量之中的
详细参考:https://blog.csdn.net/zhylhy520/article/details/80760816

2:报错:Could not load dynamic library ‘cudart64_101.dll’; dlerror: cudart64_101.dll not found
解决方法:先不着急重新配置版本,看下命令是否正确,使用相对路径可能导致出错
参考路径:tensorboard --logdir=C:\Users\24474\Desktop\DataAnalysis\classification_working\tmp\summary\test\ --port=6006
也可直接在notebook启动,参考:https://blog.csdn.net/weixin_42228166/article/details/121983339

你可能感兴趣的:(tensorflow,学习,python)