当前位置: 首页 > news >正文

TensorFlow入门(八、TensorBoard可视化工具的应用)

TensorBoard常用函数和类icon-default.png?t=N7T8http://t.csdn.cn/Hqi9c

TensorBoard可视化的过程:

①确定一个整体的图表,明确从这个图表中获取哪些数据的信息

②确定在程序的哪些节点、以什么样的方式进行汇总数据的运算,以记录信息,比如在反向传播定义以后,使用tf.summary.scalar记录损失值的变换

③运行所有的summary节点。由于一个程序中经常会有多个summary节点,为了减少一个一个手动启动的繁琐,可以使用tf.summary.merge_all将所有summary节点合并成一个节点,在启动运行

④使用tf.summary.FileWriter将运行后输出的数据保存到本地磁盘中

⑤运行整个程序,完成执行后,win+R打开终端,输入tensorboard --logdir 文件上一级路径

以下是具体操作:

        示例代码如下:

# -*- coding: utf-8 -*-
"""
Created on Mon Sep 25 20:07:18 2023@author: ASUS
"""import tensorflow.compat.v1 as tf
import numpy as np
import matplotlib.pyplot as plt
import ostf.compat.v1.disable_eager_execution()#这个函数用于禁用 TensorFlow 2 中的即时执行模式,以便能够使用 TensorFlow 1.x 的计算图执行方式。#1.准备数据
train_X = np.linspace(-1, 1,100)#train_X 是一个从 -1 到 1 的等间距数组,用作输入特征。
train_Y = 5 * train_X + np.random.randn(*train_X.shape) * 0.7#train_Y 是根据 train_X 生成的目标值,在真实值的基础上加上了一些噪声。#2.搭建模型
#通过占位符定义
X = tf.placeholder("float")#X 和 Y 是 TensorFlow 的占位符(Placeholder),用于在执行时提供输入和标签数据。
Y = tf.placeholder("float")
#定义学习参数的变量
W = tf.Variable(tf.compat.v1.random_normal([1]),name="weight")#W 和 b 是学习参数的变量,可以被模型训练调整。
b = tf.Variable(tf.zeros([1]),name="bias")
#定义运算
z = tf.multiply(X,W) + b#z 是通过将输入特征 X 与权重 W 相乘并加上偏差 b 得到的预测值。
#定义损失函数
cost = tf.reduce_mean(tf.square(Y - z))#cost 是损失函数,计算预测值与真实值之间的平方差的平均值。
#定义学习率
learning_rate = 0.01#learning_rate 是学习率,用来控制优化算法在每次迭代中更新参数的步长。
#设置优化函数
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(cost)#optimizer 是梯度下降优化器,用于最小化损失函数。#3.迭代训练
#初始化所有变量
init = tf.global_variables_initializer()
#定义迭代参数
training_epochs = 20#training_epochs 是迭代训练的轮数。
display_step = 2#display_step 是控制训练过程中打印输出的步长。#定义保存路径
savedir = "log4/"#启动Session
with tf.Session() as sess:#with tf.Session() as sess: 创建一个会话,在该会话中执行计算图操作。sess.run(init)#sess.run(init) 运行初始化操作,初始化所有变量。tf.summary.scalar("loss", cost)#合并所有的summarymerged_summary_op = tf.summary.merge_all()#创建summary_write用于写文件summary_writer = tf.summary.FileWriter(os.path.join(savedir,'summary_log'),sess.graph)for epoch in range(training_epochs):for(x,y) in zip(train_X,train_Y):sess.run(optimizer,feed_dict={X:x,Y:y})#sess.run(optimizer,feed_dict={X:x,Y:y}) 执行一次优化器操作,将当前的输入特征 x 和标签值 y 传入模型。summary_str = sess.run(merged_summary_op,feed_dict = {X:x,Y:y})summary_writer.add_summary(summary_str,epoch)if epoch % display_step == 0:#每隔 display_step 轮迭代打印一次损失值和当前的参数值。loss=sess.run(cost,feed_dict={X:train_X,Y:train_Y})#测试模型print("Epoch:",epoch+1,"cost=",loss,"W=",sess.run(W),"b=",sess.run(b))print("Finished!")#使用 matplotlib 库绘制训练数据点和拟合直线。plt.plot(train_X,train_Y,'ro',label='Original data')#绘制原始数据点。plt.plot(train_X,sess.run(W)*train_X+sess.run(b),'--',label='Fittedline')#绘制拟合的直线。plt.legend()#添加图例。plt.show()#显示图形。#4.利用模型print("x=0.2,z=",sess.run(z,feed_dict={X:0.2}))#使用训练好的模型,传入输入特征 0.2 来计算预测值 z。

        运行后会生成文件如下

        win+R打开终端,输入tensorboard --logdir C:\Users\ASUS\.spyder-py3\log4\summary_log

        复制其中的http://localhost:6006/,打开浏览器跳转来到tensorboard可视化界面,如下:

Tensorboard显示图片示例icon-default.png?t=N7T8http://t.csdn.cn/Ok1w5

http://www.lryc.cn/news/177252.html

相关文章:

  • 升级targetSdkVersion至33(以及迁移至Androidx)
  • python3.11版本pip install ddddocr调用时报错got an unexpected keyword argument ‘det‘ 解决
  • 代理IP与Socks5代理:跨界电商之安全防护与智能数据引擎
  • 如何评估一个HR是否专业?看这些标准
  • WordPress主题开发( 八)之—— 模板循环详细用法
  • QT : 完成绘制时钟
  • 香港云服务器和日本云服务器哪个好?(详细对比)
  • Cross Attention和 Self- Attention 的区别?
  • 《从零开始的Java世界》02面向对象(基础)
  • pve关闭windows虚拟机慢
  • 【Django】 rest_framework接口开发流程及接口功能组成
  • Kafka Log存储解析以及索引机制
  • 广告电商模式:探索新商业模式,实现三方共赢
  • 动态线程池框架DynamicTp v1.1.4大版本发布,新增若干实用特性
  • 无线通信——Mesh自组网的多跳性
  • QA 云计算实验问题汇总
  • VEX —— Functions|Groups
  • JavaSE18——接口
  • 杭州亚运会开幕式惊现数字人火炬手,动捕设备迸发动画制作新动能
  • ptmalloc源码分析 - malloc/free函数的实战篇(12)
  • 博弈论(奇偶考虑法)+计数+DP(判定转dp):CF838C
  • 郁金香2021年游戏辅助技术中级班(一)
  • 加密货币交易所偿付能力的零知识证明
  • 软考网络工程师防火墙配置考点总结
  • 【IDEA】idea恢复pom.xml文件显示灰色并带有删除线
  • Python数据分析之Excel
  • NISP证书是什么?NISP含金量如何呢?
  • 操作系统备考学习 day6(2.3.2 - 2.3.4)
  • 家电行业 EDI:Miele EDI 需求分析
  • Android ConstraintLayout app:layout_constraintHorizontal_weight