从tensorflow的summary中提取数据,并进行平滑操作与显示

从TensorBoard中导出数据并对其进行平滑处理 阅读详情

在训练神经网络时,我们通常用summary记录训练的过程信息,并用tensorboard可视化显示。

在完成训练后,有时我们需要使用保存在summary中的数据进行分析,那么如何从summary中提取需要的数据并分析显示呢?以下分两步来说明。

step1: 用tensorboard加载summary数据,用Chrome浏览器显示并下载需要的scalar数据。

1. 在命令中进入summary文件所在文件夹,并执行

tensorboard --logdir=./

得到tensorboard的可视化网址,在chrome中打开该网址

2. 在tensorboard界面左上方,勾选“show data download links”选项,如下图所示

3.找到对应的scalar数据曲线,点击下方的“run to download”,如下图所示

4: 点击弹出的灰色方框,选择要下载哪个summary的数据(如果同时加载多个summary的话,会有多个选项;如果仅仅加载了一个summary的话,会显示一个“.”号,点击即可)。此时后面的“csv json”变成了蓝色。

5: 点击“csv”或“json”下载数据。就可以得到对应的数据文件了。

2

step2: summary scalar数据的平滑与显示

tensorboard提供了下载接口,可以下载没有经过平滑后的数据,但是,没有经过平滑的数据的可视化效果并不好。因此通常需要先对数据进行平滑然后显示。平滑算法通常使用滑动平均算法。

summary-scalar数据的平滑与显示函数如下。


import pandas as pd
import numpy as np
import os
import matplotlib.pyplot as plt

# 数据平滑
def summary_scalar_smooth(csv_path, weight=0.85,save=False):
    # 获取文件路径和文件名,用于后面的存储
    csv_dir = "/".join(csv_path.split("/")[:-1])
    csv_name = csv_path.split("/")[-1]

    # 读取损失数据
    data = pd.read_csv(filepath_or_buffer=csv_path, header=0, names=['Step', 'Value'],
                       dtype={'Step': np.int, 'Value': np.float})
    scalar = data['Value'].values

    # 滑动平均平滑
    last = scalar[0]
    smoothed = []
    for point in scalar:
        smoothed_val = last * weight + (1 - weight) * point # 滑动平均平滑
        smoothed.append(smoothed_val)
        last = smoothed_val

    # 把平滑后的数据保存为csv格式
    save_path = os.path.join(csv_dir,"smoothed_"+csv_name)
    smoothed_csv = pd.DataFrame({'Step': data['Step'].values, 'Value': smoothed})
    if save:
        smoothed_csv.to_csv(save_path)

    return smoothed_csv

# 数据显示
def summary_scalar_show(csv_list,csv_label_list,fig_name="",step_range=range(0,80000,10),yscale="log"):
    """
    绘制summary的scalar的曲线,支持对比显示多个曲线,并约束显示区间范围
    :param csv_list: csv文件数据
    :param csv_label_list: csv的标签
    :param step_range: summary的显示区间
    :param yscale: 是否使用对数y轴
    :return:
    """
    plt.figure()
    for csv,label in zip(csv_list,csv_label_list):
        # 提取数据
        steps,scalars = csv['Step'].values,csv['Value'].values

        # 筛选要显示的数据
        show_steps,show_scalars = [],[]
        for step,scalar in zip(steps,scalars):
            if step in step_range:
                show_steps.append(step)
                show_scalars.append(scalar)
        # 绘图
        plt.plot(show_steps,show_scalars,label=label)
    if yscale == "log":
        plt.yscale(yscale)
    plt.legend()
    plt.tight_layout()
    plt.savefig(fig_name)
    plt.show()



if __name__ == '__main__':
    # ped2数据

    temph_0_csv = "temph_loss0.csv"
    temph_10_csv = "temph_loss0.csv"

    temph_0_csv_smoothed = summary_scalar_smooth(temph_0_csv)
    temph_10_csv_smoothed = summary_scalar_smooth(temph_10_csv)

    csv_list = [temph_0_csv_smoothed,temph_10_csv_smoothed]
    csv_label_list = ["model_1", "model_2"]
    step_range = range(0, 80000, 10)

    summary_scalar_show(csv_list, csv_label_list, fig_name="TS-seqUnet-ped2-ts-loss-curve.tif",step_range=range(0, 80000, 10), yscale="log")

 

tensorboard使用:仅保留平滑曲线 & 更改默认图线颜色 打开tensorboard里面有自己生成的各种曲线图 此时注意勾选show data download links 点击下载 下载SVG文件 使用VSCode打开SVG文件 在path后这里更换颜色 将某个path全部删除,则该曲线也消失 更改后如图所示 ... 阅读详情

相关推荐

TensorFlow是数据科学全链路操作系统:从tf.data到TFX的工程化实践

TensorFlow本质上不是深度学习框架,而是面向大规模、高可靠、长生命周期数据智能系统的基础设施。其核心在于统一计算图抽象——通过tf.data.Dataset实现可审计、可优化的数据流管道,以SavedModel定义跨语言、强契约的模型交付标准。这种图优先设计并非技术倒退,而是为解决生产中内存不可控、执行不可复现、扩展不可预测等工程瓶颈。在实时特征计算、千卡分布式训练、边缘低功耗推理及自动漂移告警等关键场景中,TensorFlow提供的是端到端的工程契约与系统级保障,而非单点API调用。

leonard61306500的专栏 396

【tensorboard可视化-使用+虚线去除+数据点显示不全】

0、前言 可视化各个监控指标的使用,分别对以下选项卡进行介绍,TensorFlow 版本不一样会导致该界面也略有不同, 0.9.0 版本的 TensorFlow 有 5 个分栏,分别是SCALARS(标量)、 IMAGES(图片)、 AUDIO(音频)、 GRAPHS(计算图)、 DISTRIBUTIONS(数据分布)、 HISTOGRAMS(直方图)和EMBEDDINGS (嵌入向量) 0.1、SCALARS(标量数据折线图可视化) 选项卡 常用!!!打开的 Tensor Board 界面会默.

图挖掘领域,新晋砖家 ☞ 未来可期,欢迎和静静一起学习交流吖 1万+

TensorFlow与PyTorch全面对比:原理、实战与选型指南

深度学习框架是构建神经网络模型的基石,其核心能力包括自动求导、GPU加速和模块化组件,大幅降低了算法实现的门槛。在众多框架中,TensorFlow与PyTorch是目前最主流的两大选择,它们都支持动态图机制和成熟的训练生态,但在设计哲学、API风格和部署链路上各有侧重。TensorFlow以Keras高层接口和工业部署工具链见长,适合快速搭建标准模型并上线服务;PyTorch则以Python原生风格和灵活的调试体验著称,深受学术研究和自定义网络开发的青睐。理解两者的原理差异,结合图像分类、自然语言处理等实际

weixin_33985507的博客 398

Tensorboard:SummaryWriter类

Tensorboard:SummaryWriter类 Tensorboard在训练模型时很有用,可以看训练过程中loss的变化。之前用于Tensorflow框架,自Pytorch1.1之后,Pytorch也加了这个功能。 SummaryWriter类可以在指定文件夹生成一个事件文件,这个事件文件可以对TensorBoard解析。 安装 找到所在环境pip安装即可:pip install tensorboard 导入 from torch.utils.tensorboard import SummaryWri

Lstar_的博客 1万+

数据科学新手实操路线图:从NumPy到TensorFlow五库精讲

数据科学不是API堆砌,而是围绕数据流动构建的工程化链条:从NumPy的向量化计算基座,到Pandas的结构化清洗与分析,再到Matplotlib的业务可读可视化、Scikit-learn的标准化建模闭环,最终延伸至TensorFlow对非结构化数据(图像、语音、文本)的张量处理能力。这一路径直击新手核心痛点——‘不知从哪行代码开始’和‘不理解为何要这样写’,强调用真实业务问题(如日期混乱清洗、销售趋势归因、月度预测)驱动学习,以最小可运行闭环建立肌肉记忆。文中重点贯穿NumPy广播机制与Pandas gr

张沈鹏,在路上 ... 490

基于OpenCV+TensorFlow+CNN的人脸识别系统实战指南

人脸识别是计算机视觉领域的重要应用,其核心在于将人脸图像转换为可度量的特征向量。通过卷积神经网络(CNN)提取人脸深层特征,结合度量学习使同类特征靠近、异类远离,从而实现精准的身份匹配。OpenCV提供高效的图像采集与预处理能力,TensorFlow则承担模型训练与推理任务,两者配合可构建完整的识别链路。人脸识别技术广泛应用于安防门禁、智能打卡、边缘设备验证等场景,实际落地中需关注数据增强、人脸对齐、阈值调优等工程细节。本文基于OpenCV+TensorFlow+CNN组合,详细拆解从数据采集、模型训练到实

weixin_33859231的博客 417

tensorboard 平滑损失曲线代码

tensorboard 平滑损失曲线代码 标签(空格分隔): tensorflow 源码 咱们写论文,或者工作汇报的时候,希望展现非常漂亮的深度学习损失函数曲线图 在tensorflow中集成了很实用的tensorboard可视化工具,能够实时观测训练过程中的损失函数曲线图,以及建立的图模型,甚至在tensorboard可以可视化一些图像的分割或者分类结果,非常方面。但是,深度学习往...

Charel_CHEN的博客 2万+

PyTorch、TensorFlow、Keras底层原理与工程选型指南

深度学习框架不仅是API集合,更是计算图构建、内存管理与硬件协同的系统性工程。理解动态图(PyTorch Eager Mode)与静态图(TensorFlow @tf.function)的本质差异,是定位loss异常、梯度消失等调试难题的关键;掌握Autograd引擎与XLA编译器的工作机制,才能在混合精度训练、TPU加速等场景中规避显存泄漏与版本漂移风险。Keras的高阶抽象虽提升开发效率,但其API契约也隐含设备放置、训练/推理模式切换等运行时约束。本文从计算图执行模型出发,解析三大框架在数据加载、模型

cumo7370的博客 636

用matplotlib画tensorflow的summary文件(含smooth功能)

前言 使用tf.summary 保存数据,然后想要输出图像,同时定制一些标题,图例等漂亮地贴到报告里面,那用matplotlib比较方便一些。本文首先准备summary文件,然后读取此文件,做一些smooth最后输出报告曲线图。 准备tf summary文件 准备一个tf summary文件,我用tensorflow跑了一个日志文件出来,里面有两个记录的tf.summary.scalar loss 和 lr。如果不想跑的话,我这里还有直接的结果文件: events.out.tfevents.15781088

一塘的博客 1216

什么是无人机电源管理模块?电源管理模块有什么用处?

我来描述一下我的问题情景,电源管理模块的定义是,这里给出这个PX4官方对于电源管理模块的一些介绍,补充一下锂电池的放电原理大家就可以更好理解为什么需要电源管理模块

HRWVY0725的博客 2272

SMRATS(一) SMARTS+PPO baseline运行教程

python类方法 class Agent: @classmethod def from_function() python typing 含义 为防止弱类型python出现忘记变量类型的问题,python3.5及之后版本增加了对应的类型提示。 输入和输出类型 函数接受并返回一个字符串,注释像下面这样: def greeting(name: str) -> str: return 'Hello ' + name 常用的typing类型 int,long,float: 整型,

Freshduke的博客 1413

读取tensorboard数据,tf.summary_iterator()

使用tensorboard可视化时,经常需要将数据提取出来,毕竟数据在自己手里处理起来才方便一些,比如做一些平滑处理、截取数据的某一段等。此时则可用tf.compat.v1.train.summary_iterator()进行数据提取

Wayne的博客 805

3D识别建模 — 基于ReconstructMe和EAGLE EYES SCANNER的实现

3D实体识别建模,作为3D打印反向工程的一个重要环节,今天就让我们利用ReconstructMe和EAGLE EYES SCANNER来了解一下。 第一步、软件和硬件准备就绪 ReconstructMe下载并安装 http://reconstructme.net/?wpdmdl=160 EAGLE EYES SCANNER直接将相应USB插入电脑接口即OK,之后在    中点击搜索“设备管理...

qq_40013290的博客 881

TensorFlow初学者渐进式学习框架:从张量操作到模型调试

张量是深度学习中最基础的数据结构,本质是带形状与类型约束的多维数组;其核心原理在于形状匹配、自动微分与计算图执行机制。掌握张量操作与梯度追踪能力,不仅支撑模型构建与训练,更构成可复现、可调试的工程实践基础。典型应用场景包括图像分类预处理、自定义训练循环实现、TensorBoard可视化分析等。本框架聚焦TensorFlow 2.x Eager模式下的渐进式学习路径,通过6个物理可感的Baby Steps,帮助零基础学习者建立计算图直觉与模型调试能力,绕开抽象悬崖与环境陷阱。

cunfuteng7334的博客 359

【WILEY】从Revision到Online:一次投稿的完整状态演进与关键节点实战解析

本文详细解析了从Revision到Online发表的完整投稿流程,包括修改稿准备、回复信撰写、状态跟踪等关键节点。特别针对Wiley期刊,提供了实用的操作技巧和常见问题解决方案,帮助作者高效完成论文修改与发表。

weixin_29219189的博客 361

ARM Linux工控板+C# .NET Core:倍福ADS协议轻量化工业控制(附跨平台部署代码)

某自动化设备厂的倍福PLC控制系统曾依赖传统x86工控机:单台设备需配备1台Intel i5工控机(成本约8000元),功耗30W+,且Windows系统稳定性受工业环境干扰(如电磁辐射导致蓝屏)。更棘手的是,设备需部署在产线边缘(空间狭小),x86工控机的体积(4U机架)和散热需求(风扇噪音)难以适配;而多设备部署时,高硬件成本和高功耗导致年运维成本超20万元。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 954

TensorFlow服装图像分类实战:从数据加载到边缘部署

图像分类是计算机视觉的基础任务,其核心在于特征提取、类别判别与泛化能力平衡。在真实电商场景中,服装图像分类需兼顾细粒度识别、低延迟推理与小模型体积等工程约束。TensorFlow凭借其完整的端到端生态(tf.data、Keras、TFLite、TF Serving),成为工业级部署的首选框架。本文围绕Fashion-MNIST与业务真实数据双轨演进,深入解析数据管道优化、MobileNetV2轻量化建模、空间注意力机制增强、量化感知训练及边缘推理调优等关键技术环节,覆盖从Python环境配置、GPU显存管理

张沈鹏,在路上 ... 507

STC单片机 普通 I/O 口中断功能介绍和使用

STC32单片机 普通 I/O 口中断功能介绍和使用

perseverance51博客 3048

深度残差收缩网络(DRSN)在TensorFlow中的实现与优化

深度残差收缩网络(DRSN)是一种针对噪声数据优化的深度学习架构,通过引入软阈值化(Soft Thresholding)模块,能有效过滤信号中的噪声干扰。其核心原理是利用可学习的阈值对特征图进行动态调整,结合残差连接保持梯度流动。这种技术在工业传感器数据清洗、医学影像去噪等场景具有重要应用价值。基于TensorFlow框架实现时,可利用自定义层API开发软阈值化模块,并通过宽卷积核设计增强特征提取能力。在工业设备故障诊断等实际项目中,DRSN相比传统CNN能显著提升模型鲁棒性,准确率可提高10%以上。该技术

weixin_34124651的博客 393

YOLOv12改进策略【模型轻量化】| 替换骨干网络为EfficientNet v1 高效的移动倒置瓶颈结构

本文记录的是基于。采用了创新性的方法,通过精心平衡网络和来提升性能。本文将的设计优势融入YOLOv12中,提升YOLOv12的性能与效率,使其在目标检测任务中表现更为出色。本文配置了原模型中的共种不同大小的模型结构,以满足不同的需求。

Limiiiing的博客 963

【实战教程】OpenClaw接入MySQL数据库实战指南

本文介绍了在虚拟机Ubuntu中访问宿主机Win11中MySQL数据库的配置方法,重点包括创建远程用户、权限配置和安全设置。首先在MySQL中创建具有只读权限的用户并刷新权限,然后调整服务器设置允许远程连接。文章还提供了某金融机构财富管理系统的数据库设计方案,包含理财产品表、客户表和份额表的核心结构,其中金额字段使用DECIMAL类型确保精度,并设置唯一键约束。文末强调测试环境配置完成后应恢复安全更新模式以保障生产环境安全。

海兰 8696

TensorFlow 2.x 从零实现 DenseNet:CIFAR-10 分类实战与调优

卷积神经网络(CNN)是计算机视觉领域的核心架构,通过卷积层自动提取图像特征。其原理在于利用局部连接和权值共享,高效处理图像等网格化数据,在减少参数量的同时保留空间信息。这一技术价值在于为图像分类、目标检测等任务提供了强大的特征表示能力。在众多经典CNN架构中,DenseNet以其独特的稠密连接机制脱颖而出,通过特征复用显著提升了参数效率并缓解了梯度消失问题。本文聚焦于使用TensorFlow 2.x框架,从零开始动手实践,详细拆解DenseNet的稠密块(Dense Block)和过渡层(Transiti

weixin_34268579的博客 510

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

《TensorFlow技术解析与实战》学习笔记2

第4章 TensorFlow基础知识 设备层和网络层gRPC(google Remote Procedure Call Protocol),RDMA(Remote Direct Memory Access) 数据操作层:卷积函数,激活函数。 图计算层 API层 应用层 命令式编程Imperative Style Programming,即通常意义上的程序。t=8+9; pr...

柳鲲鹏 649

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

tensorflow 模型可视化_FlyAI小课堂:Tensorflow-可视化(TensorBoard)

在开始学习之前推荐大家可以多在FlyAI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型。目录TensorBoard简介TensorBoard主要API面板介绍执行步骤实例说明在TensorFlow中,最常用的可视化方法有三种途径,分别为TensorFl...

weixin_39827585的博客 728

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

PyTorch、TensorFlow与JAX实战选型指南:研究落地与生产部署的工程权衡

AI框架不仅是代码工具,更是连接算法构想与硬件执行的‘思维翻译器’。从自动微分原理到计算图编译机制,不同框架在动态性、确定性与函数式表达上存在根本差异。PyTorch以eager模式支撑快速迭代与调试友好性,TensorFlow依托SavedModel与XLA保障云上部署一致性与边缘量化能力,JAX则通过jit/grad/vmap提供高阶可微分编程范式。技术价值体现在研究复现效率、生产SLA达标率与跨平台可维护性;典型场景覆盖金融风控模型迭代、医疗影像辅助诊断部署及工业预测性维护系统构建。本文基于12个跨行

weixin_30423977的博客 376

Python+TensorFlow/Keras深度学习入门与实践指南

深度学习作为人工智能的核心技术,通过模拟人脑神经网络实现对复杂数据的建模与分析。Python凭借其简洁语法和丰富生态成为首选开发语言,而TensorFlow 2.0与Keras的组合则提供了从入门到生产的完整解决方案。Keras通过高度抽象化的API设计,使构建神经网络如同搭积木般简单,配合TensorFlow的计算图优化和自动微分机制,大幅降低了深度学习的技术门槛。在实际工程中,这种组合特别适合计算机视觉(如图像分类)和自然语言处理(如文本情感分析)等场景,同时支持模型保存、转换和跨平台部署。对于初学者而

weixin_30340819的博客 387
上一篇: “期望风险”,“经验风险”与“结构风险”的定义与联系
下一篇: 人工神经网络----Hebbian学习规则
wzg2016
博客等级 码龄10年 539粉丝 493原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值