码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • TensorboardX:如何在pytorch上画loss曲线图 | TensorboardX入门使用指南


    目录

    • 总览
    • 具体流程
      • 1 安装TensorboardX工具包
      • 2 编写代码
      • 3 执行代码

    总览

    TensorBoard绘制的一次实验的loss曲线图
    TensorBoard绘制的九次实验的loss曲线图
    实现以上功能,需要在Pytorch环境下安装TensorboardX工具包,并使用相应的代码,即可在网页页面中查看并分析loss曲线(还有许多其他功能。。。目前仅实践画loss曲线部分)

    TensorboardX github链接

    具体流程

    1 安装TensorboardX工具包

    pip install tensorboardX
    
    • 1

    根目录下会有TensorboardX文件夹:
    在这里插入图片描述

    2 编写代码

    创建一个try.py文件,代码框架如下:

    from tensorboardX import SummaryWriter
    
    writer = SummaryWriter()
    
    train_loss=[3.5, 2.0, 2.5, 2.0]
    dev_loss=[3.0, 2.8, 2.5, 2.0]
    
    for i in range(len(train_loss)):
        writer.add_scalars("loss",{"train":train_loss[i],"dev":dev_loss[i]},i+1)
    
    writer.export_scalars_to_json("./loss.json")
    writer.close()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    其中,我将详细说明以下writer.add_scalars()函数:

    writer.add_scalars()函数:
    功能:在一个图表中记录多个标量的变化,常同于对比,如train loss 和 val loss的比较等。
    参数:add_scalars(main_tag, tag_scalar_dict, global_step=None, walltime=None)
    main_tag(string)为该图的标签;
    tag_scalar_dict(dict)为绘制的曲线的数据,其中,key是变量的名称,value是变量的值;
    global_step(int)为曲线图的横坐标
    walltime(float)为event文件的文件名设置时间,默认为time.time()
    以上参数在实际绘制的图像中,所对应的位置如下:
    在这里插入图片描述
    此外,如果只画一条曲线,有add_scalar()函数,还有更多功能如:直方图、多分位数折线图、网络结构拓扑图等,都有对应的函数,具体可参考博客。

    3 执行代码

    1. 执行上述代码,生成json文件
    python try.py
    
    • 1
    1. 在终端执行以下命令
    tensorboard --logdir "./" --host 127.0.0.1
    
    • 1

    其中"./"为json文件所在目录(注意是目录,不包括文件名,如果该目录下包含多个json文件,会一起转化!)
    执行后会显示以下内容,点击链接就可以在浏览器中查看loss图啦!
    在这里插入图片描述
    注意:json文件应当在tensorboardX根目录下,浏览器才能正确显示内容,如果json文件在tensorboardX文件夹外,或者在tensorboardX的子目录下,浏览器都会出现显示不出来、显示错误等问题。

  • 相关阅读:
    Hadoop中的MapReduce框架原理、Job提交流程源码断点在哪断并且介绍相关源码、切片与MapTask并行度决定机制、MapTask并行度决定机制
    c 声明、定义、初始化的差别
    Deadlock found when trying to get lock; try restarting transaction主要要是死锁问题呢怎么解决
    java毕业设计——基于java+Eclipse的扫雷游戏设计与实现(毕业论文+程序源码)——扫雷游戏
    【产品人卫朋】华为IPD流程体系:集成产品开发框架
    忆联再次与 OpenCloudOS 完成产品兼容性互认证
    CV之ModelScope:基于ModelScope框架的人脸人像数据集利用DCT-Net算法实现人像卡通化图文教程之详细攻略
    通过配置文件方式配置包含thymeleaf的SpringMVC开发环境
    vue3使用flv播放视频监控
    STM32玩转物联网实战篇:5.ESP8266 WIFI模块MQTT通信示例详解
  • 原文地址:https://blog.csdn.net/xiyou__/article/details/125618290
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号