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

手机网站标准字体大小西安疫情最新消息1小时内

手机网站标准字体大小,西安疫情最新消息1小时内,医院网站怎么做运营,珠海企业网站建设制作tensorboard的发展历史和原理 一、发展历史 起源与 TensorFlow 一同诞生 (2015年底): TensorBoard 最初是作为 TensorFlow 开源项目(2015年11月发布)的一部分而设计和开发的。其核心目标是解决深度学习模型训练过程中的“黑盒”问题,提供直观…
tensorboard的发展历史和原理

一、发展历史

起源与 TensorFlow 一同诞生 (2015年底):

TensorBoard 最初是作为 TensorFlow 开源项目(2015年11月发布)的一部分而设计和开发的。其核心目标是解决深度学习模型训练过程中的“黑盒”问题,提供直观的方式来观察模型内部状态、训练指标和计算图结构。早期核心功能: 标量可视化(损失、准确率等)、计算图可视化、简单的直方图(分布)可视化。

逐步扩展功能 (2016-2018):

Embedding Projector: 引入了强大的高维数据(如词嵌入、激活)降维和可视化工具(PCA, t-SNE),用于探索和理解嵌入空间。图像、音频、文本支持: 增加了直接查看训练/验证集中的样本图像、生成的音频样本、文本摘要的功能,方便检查输入数据和模型输出。

TensorFlow 2.x 时代与插件化 (2019至今):

紧密集成 Keras: TensorFlow 2.x 将 Keras 作为高级API,TensorBoard 也深度集成了 Keras 的回调机制 (tf.keras.callbacks.TensorBoard),使用户能更便捷地记录数据。模型图可视化改进: 更好地支持 tf.function 和 Eager Execution 模式下的模型结构可视化。Profile 工具: 集成了强大的性能分析器,可以分析模型在 CPU/GPU/TPU 上的执行时间、内存消耗、算子耗时等,用于性能瓶颈定位和优化。

二、核心原理

TensorBoard 的工作原理可以概括为 “写日志” -> “读日志” -> “可视化” 三个步骤:

数据记录 (Write Logs):

在模型训练/评估代码中,使用 Summary API 在关键点记录需要可视化的数据。

TensorFlow: tf.summary.scalar(), tf.summary.image(), tf.summary.histogram(), tf.summary.text(), tf.summary.audio(), tf.summary.graph() 等。

PyTorch: torch.utils.tensorboard.SummaryWriter.add_scalar(), add_image(), add_histogram() 等。

其他框架: 使用相应的适配器库。

这些 API 调用并不会立即进行昂贵的渲染操作,而是将数据序列化为 tf.Event 协议缓冲区 (Protocol Buffer) 格式。

这些 tf.Event 记录被顺序追加写入到磁盘上的 事件文件 中,通常命名为 events.out.tfevents.*。

写入器 (SummaryWriter) 负责管理这些事件文件(如轮转、刷新)。

数据加载与聚合 (Read and Aggregate Logs):

用户通过命令行 (tensorboard --logdir=path/to/logs) 或 Notebook 内联方式启动 TensorBoard 服务器。

TensorBoard 后端服务 (Python) 监控指定的日志目录 (--logdir)。

后端使用高效的 tensorboard.data.server 组件:

扫描目录: 递归扫描 --logdir 下的所有子目录,寻找事件文件 (*.tfevents.*)。

解析事件文件: 读取并解析这些二进制事件文件,从中提取出存储的 tf.Event 记录。

聚合数据: 将解析出的原始数据(标量值、图像字节、直方图桶计数、图结构等)根据其类型和标签(Tag)进行聚合和组织,存储在内存或缓存中,构建出可供前端查询的数据结构。

处理运行 (Runs): 通常将日志目录下的每个子目录视为一个独立的“运行”(Run,代表一次实验或训练过程),便于比较不同实验的结果。

可视化展示 (Visualize):

TensorBoard 启动一个 Web 服务器 (默认端口 6006)。

用户在浏览器中访问 http://localhost:6006 (或指定的地址)。

浏览器加载 TensorBoard 的前端应用 (基于 JavaScript, HTML, CSS)。

前端通过 HTTP API 向后端发送查询请求(例如:获取某个 Run 下某个 Tag 的所有标量数据点;获取最新一批图像;获取模型图结构等)。

后端接收到请求后,从它聚合好的数据结构中检索出相应的数据,并通过 JSON 或其他格式返回给前端。

前端使用 可视化库(如 D3.js 用于图表绘制, Three.js 用于 Embedding Projector 的 3D 渲染)将接收到的数据渲染成交互式的图表和视图(Scalars 折线图、Images 网格、Distributions 直方图动画、Graphs 节点连接图、Embeddings 3D点云等)。

用户可以在前端界面交互(如缩放图表、切换 Runs/Tags、调整 Embedding Projector 的参数、在计算图中点击节点查看详情等),这些交互会触发新的 API 请求,实现动态更新视图。

import os
from torch.utils.tensorboard import SummaryWriterbase_dir = 'runs/cifar10_mlp_experiment'
log_dir = base_dir# 查找可用目录名
counter = 1
while os.path.exists(log_dir):log_dir = f"{base_dir}_{counter}"counter += 1# 创建SummaryWriter
writer = SummaryWriter(log_dir)
# 记录每个 Batch 的损失和准确率
writer.add_scalar('Train/Batch_Loss', batch_loss, global_step)
writer.add_scalar('Train/Batch_Accuracy', batch_acc, global_step)# 记录每个 Epoch 的训练指标
writer.add_scalar('Train/Epoch_Loss', epoch_train_loss, epoch)
writer.add_scalar('Train/Epoch_Accuracy', epoch_train_acc, epoch)dataiter = iter(train_loader)
images, labels = next(dataiter)
images = images.to(device)
writer.add_graph(model, images)  # 通过真实输入样本生成模型计算图# 可视化原始训练图像
img_grid = torchvision.utils.make_grid(images[:8].cpu()) # 将多张图像拼接成网格状(方便可视化),将前8张图像拼接成一个网格
writer.add_image('原始训练图像', img_grid)# 可视化错误预测样本(训练结束后)
wrong_img_grid = torchvision.utils.make_grid(wrong_images[:display_count])
writer.add_image('错误预测样本', wrong_img_grid)if (batch_idx + 1) % 500 == 0:for name, param in model.named_parameters():writer.add_histogram(f'weights/{name}', param, global_step)  # 权重分布if param.grad is not None:writer.add_histogram(f'grads/{name}', param.grad, global_step)  # 梯度分布

@浙大疏锦行

http://www.dtcms.com/wzjs/46455.html

相关文章:

  • 网站备份信息网络营销推广公司名称
  • 自学考试 网页制作与网站建设06627网页制作成品模板网站
  • 网站建设公司antnw网上怎么做推广
  • 网络推广渠道分类seo软件视频教程
  • 上海 高端网站建设电商运营公司简介
  • 全市政府网站建设管理的讲话最好用的搜索神器
  • 用香港服务器建网站做微商google竞价推广
  • 如何做网站免费教程营销培训课程ppt
  • 自己做的网站怎么爬数据大数据精准营销获客
  • 网站建设制作设计seo优化山东一站式海外推广平台
  • 《两学一做 榜样》网站精准营销包括哪几个方面
  • 东莞企业推广网站网站优化公司认准乐云seo
  • 网站seo外链怎么做google下载安装
  • 智能网站开发工具东莞网络营销推广公司
  • 网站开发常用图标 图像基础建站如何提升和优化
  • 宁波方太集团网站建设优化seo招聘
  • 有哪些好的响应式网站有哪些整站优化外包服务
  • 门户网站导航建设方案整站seo
  • 漳州网站建设公司首选公司steam交易链接怎么改
  • 网站不做icp备案seo排名诊断
  • 湘潭网站建设获客软件
  • 重庆云阳网站建设公司百度一下打开网页
  • cms 做网站莱阳seo排名
  • 最好科技广州网站建设免费推广论坛
  • 政府网站建设需求说明网络营销方式对比分析
  • 网站建设中两个月了php视频转码
  • 做影视网站需要多大硬盘b站推广网站入口
  • 电商网站建设的意义如何优化推广网站
  • 橙子建站广告怎么收费中国营销网
  • 手工活接单app昆明百度推广优化