TensorFlow入门(八、TensorBoard可视化工具的应用)
TensorBoard常用函数和类
http://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显示图片示例
http://t.csdn.cn/Ok1w5
相关文章:
TensorFlow入门(八、TensorBoard可视化工具的应用)
TensorBoard常用函数和类http://t.csdn.cn/Hqi9c TensorBoard可视化的过程: ①确定一个整体的图表,明确从这个图表中获取哪些数据的信息 ②确定在程序的哪些节点、以什么样的方式进行汇总数据的运算,以记录信息,比如在反向传播定义以后,使用tf.summary.scalar记录损失值的变…...
升级targetSdkVersion至33(以及迁移至Androidx)
1.设置 android.useAndroidXtrue 和 android.enableJetifiertrue 2.一键迁移至androidx:Refactor -> Migrate to Androidx 3.手动修改未能自动迁移到androidx的部分: android.support.v4.view.ViewPager.PageTransformer -> androidx.viewpager.wi…...
python3.11版本pip install ddddocr调用时报错got an unexpected keyword argument ‘det‘ 解决
一、如图出现如下问题 ddddocr.__init__() got an unexpected keyword argument det出现问题原因:python3.11默认安装版本就旧版的ddddocr1.0的,所以导致如下报错 二、解决方案一(推荐) python3.11的环境直接安装这个即可&…...
代理IP与Socks5代理:跨界电商之安全防护与智能数据引擎
第一部分:跨界电商的兴起与网络安全挑战 1.1 跨界电商的崭露头角 跨界电商已经成为全球贸易的新引擎,企业纷纷踏上了拓展国际市场的征程。 1.2 网络安全的不容忽视 跨界电商的增长也伴随着网络安全威胁的增加。黑客攻击、数据泄露和欺诈行为等风险呈…...
如何评估一个HR是否专业?看这些标准
HR在遇到优秀的人才时,以往的招聘中,我们总以惯性思维寻找吸引人才的突破口,诸如体现薪酬优厚、突出平台优势甚至提高面试话术等,却忽略了面试官本人的人格魅力,本身就是公司招聘的形象代言,因为优秀的面试…...
WordPress主题开发( 八)之—— 模板循环详细用法
WordPress 主题开发教程手册 — 模板循环 WordPress 主题开发中,模板循环是一个非常关键的概念,它负责默认机制来输出文章内容。模板循环会遍历当前页面获取的所有文章,然后使用主题中的模板标签将它们格式化并输出。 模板循环的应用 Word…...
QT : 完成绘制时钟
1.头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPainter> #include <QTimer> #include <QTime> #include <QPaintEvent> #include <QDebug> #include <QBrush>QT_BEGIN_NAMESPACE namespace Ui { class…...
香港云服务器和日本云服务器哪个好?(详细对比)
购置海外服务器时,您是在乎网络速度?价格?稳定性?当这几个因素同时存在,我们该如何选择?本篇针对海外热门的两个地区,中国香港和日本,这两种云服务器谁优谁劣?各有什么亮点?逐一进行对比分析。 一、速度上来看 中国香…...
Cross Attention和 Self- Attention 的区别?
Cross Attention和Self-Attention都是深度学习中常用的注意力机制,用于处理序列数据,其中Self-Attention用于计算输入序列中每个元素之间的关系,Cross Attention则是计算两个不同序列中的元素之间的关系。它们的主要区别在于计算注意力分数时…...
《从零开始的Java世界》02面向对象(基础)
《从零开始的Java世界》系列主要讲解Javase部分,从最简单的程序设计到面向对象编程,再到异常处理、常用API的使用,最后到注解、反射,涵盖Java基础所需的所有知识点。学习者应该从学会如何使用,到知道其实现原理全方位式…...
pve关闭windows虚拟机慢
背景: 在web界面关闭windows虚拟机一直转圈,使用命令行关闭报错 qm stop 155 trying to acquire lock... cant lock file /var/lock/qemu-server/lock-155.conf - got timeout解决 删除lock,然后用命令行重新关闭 rm /var/lock/qemu-serve…...
【Django】 rest_framework接口开发流程及接口功能组成
rest_framework接口开发流程及接口功能组成 使用restframework框架开发接口,方式应该有6、7种,每个人的习惯不同,用的方法也不一样,再次不再一一详述。 我比较常用:ModelSerializerGenericAPIView 原因是用视图函数装饰…...
Kafka Log存储解析以及索引机制
1.概述 在Kafka架构,不管是生产者Producer还是消费者Consumer面向的都是Topic。Topic是逻辑上的概念,而Partition是物理上的概念。每个Partition逻辑上对应一个log文件,该log文件存储是Producer生产的数据。Producer生产的数据被不断追加到该…...
广告电商模式:探索新商业模式,实现三方共赢
随着互联网技术的发展,电商行业正在不断探索新的商业模式。其中,广告电商模式是一种创新的方式,它成功地将广告和电商相结合,实现了三方共赢的局面。一、广告电商模式的定义广告电商模式,顾名思义,是一种将…...
动态线程池框架DynamicTp v1.1.4大版本发布,新增若干实用特性
DynamicTp 简介 DynamicTp 是一个基于配置中心实现的轻量级动态线程池监控管理工具,主要功能可以总结为动态调参、通知报警、运行监控、三方包线程池管理等几大类。 DynamicTp 特性 代码零侵入:我们改变了线程池以往的使用姿势,所有配置均放…...
无线通信——Mesh自组网的多跳性
Mesh的多跳性 Mesh网络具备多跳性。什么是多跳性呢?上面说过,每一个具备Mesh网络的设备都是独立的节点。因此,当我发出一条数据时,这些数据会通过跳跃到达不同的网络节点,数据从一个节点跳到另一个节点,直到…...
QA 云计算实验问题汇总
Q Win11中VMware虚拟网卡有感叹号 2023-9-27一位同学的win11的两个VMware17的虚拟网卡都有感叹号 A 清除注册表 步骤1 关闭VMWare虚拟化软件 步骤2 使用CCleaner pro 清理注册表 步骤3 重启系统 步骤4 VMware虚拟网卡上的感叹号消失。 Q Win11上的VisualBox的网卡消失了…...
VEX —— Functions|Groups
目录 expandpointgroup —— 返回点组内点号 expandprimgroup —— 返回面组内面号 expandvertexgroup —— 返回顶点组内顶点号 inpointgroup —— 判断指定点是否在点组内 inprimgroup —— 判断指定面是否在面组内 invertexgroup —— 判断指定顶点是否在顶点组内 np…...
JavaSE18——接口
接口(interface) 1 概述 在Java中,接口是一种抽象数据类型,它定义了一组方法(没有方法体),但没有实现这些方法的具体代码。接口可以看作是一种合约,它规定了类应该具有的行为。类可以实现一个或多个接口&…...
杭州亚运会开幕式惊现数字人火炬手,动捕设备迸发动画制作新动能
在第十九届亚运会开幕式上,首次出现了“数字人”点火形式,打造了亚运史上首个数字点火仪式,这种点火方式是一种颠覆性创作的同时,这也是裸眼3D技术、现实增强和AI人工智能技术的完美结合。 此次数字火炬手的背后是采用了动捕设备&…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
