pytorch:本地使用tensorboard可视化

news/2024/4/26 21:15:55/文章来源:https://blog.csdn.net/Caesar6666/article/details/127245418

摘要: tensorboard是tensorflow用来可视化训练和测试过程的模块,而pytorch并没有可视化模块,但是pytoch=1.2.0版本以上开始支持tensorboard。

目录

    • 一、 安装tensorboard
    • 二、 使用tensorboard
      • 1、首先导入模块:
      • 2、初始化:
      • 3、记录内容:
      • 4、关闭:
    • 三、可视化
      • 1、打开终端,写命令行
      • 2、打开浏览器,打开tensorboard可视化

一、 安装tensorboard

直接pip即可:

pip install tensorboard

这里注意,使用pytorch,并不需要额外安装tensorflow。

二、 使用tensorboard

记录训练的loss和测试的accuracy:

1、首先导入模块:

from torch.utils.tensorboard import SummaryWriter

2、初始化:

writer = SummaryWriter('./log')

记录的内容保存在文件夹log里面。

3、记录内容:

writer.add_scalar('loss', loss, step)
writer.add_scalar('accuracy', accuracy, step)

这里step是指步数,loss为训练误差,accuracy为测试准确率,按自己需求记录即可。

4、关闭:

writer.close()

在文件夹会log里会生成events.out.tfevents的文件,每次运行,如:
在这里插入图片描述

三、可视化

1、打开终端,写命令行

在本地打开终端,进入虚拟环境,写以下命令行:

tensorboard --logdir=./log

这里需要注意一下,log为刚才保存文件的文件夹,可以是相对路径,也可以是绝对路径,只要稍微注意格式即可,以下有几个注意事项:
(1)、路径./log不要加双引号,,如:–logdir=“./log”
(2)、不要使用双等号,有些博客使用了双等号,其实是错误的,如:–logdir==./log
以上写法均是错误的,正确的写法有两种,一种就是上面例子使用单个等号,另外一种是使用空格,如:

tensorboard --logdir ./log

参数除了logdir外,常用的还有:host、port。
host:ip地址
port: 端口
tensorboard的默认是:

tensorboard --logdir=./log --host=127.0.0.1 --port=6006

有些博客说预防端口被占用,常常修改端口,其实一般不需要,host和port默认就好,只需写logdir就好,即按照开头那样写即可,回车后,有:
在这里插入图片描述
注意:这里需要注意一下,不要着急按下”Ctrl+C“,不然无法打开http://localhost:6006/,当不需要打开http://localhost:6006/,才按下”Ctrl+C“,即断开端口。

2、打开浏览器,打开tensorboard可视化

在这里插入图片描述

当不需要可视化了,可以去终端按下”Ctrl+C“,关闭端口。

总结:本人使用pytorch调用tensorboard来可视化,踩了比较多坑,所以写成博客,一来总结一下经验,预防下次使用时忘记了;二来希望帮助别人,少走弯路,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_398782.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度神经网络怎么用

深度学习 对硬件的要求 之前热衷于学习理论知识,目前想跑代码了发现不知道从何下手,自己电脑上搭建的平台基本就是个摆设,因为跑不起来呀。今天我们就来看看想做深度学习应该怎么下手。 首先了解下基础知识:1、深度学习用cpu训练…

2.Jenkins项目创建

Jenkins项目创建1.新建项目 2.创建一个freestyle的项目 3.填写描述信息 4.可以选择丢弃旧的构建 每次构建都会产生一个任务,这个任务想保留多少天,可以设置保留构建的天数 保留最大的个数:例如设置为10个,当任务达到了10个之…

Spring Rest Docs使用

今天给大家分享一个能通过代码自动生成文档技术&#xff0c;Spring Rest Doc过在单元测试中额外添加 API 信息描述&#xff0c;从而自动生成对应的文档片段。 下面通过一个简单的例子演示下如何快速上手的。在Spring Boot项目中添加maven 依赖 <dependency><groupId&g…

Android 使用Jenkins 自动化多渠道打包并且分发到蒲公英、下发到钉钉通知【即拿即用】

前言 一、tomcat 安装启动 二、jenkins war 包下载并安装 三、jenkins 配置教程 四、jenkins items 工程配置 五、android gradle 脚本编码 六、分发到蒲公英脚本编码以及七、通知钉钉逻辑编码 前言 Android 在每个版本测试阶段&#xff0c;通常会因为修复BUG 去验证&#x…

理解vue中的.sync和.$emit

首先来说一下 .sync 修饰符的作用 第一步&#xff1a;先用一句话解释 .sync修饰符可以实现子组件与父组件的双向绑定&#xff0c;并且可以实现子组件同步修改父组件的值。 第二步&#xff1a;具体解释 一般情况下&#xff0c;想要实现父子组件间值的传递&#xff0c;通常使用…

英文论文要怎么查重?

英文论文查重和中文查重一样&#xff0c;只是在渠道选择方面会有些许差别。今天就具体聊聊英文论文怎么查重&#xff0c;并向大家推荐几个比较常用的英文论文查重工具。 英文论文怎么查重&#xff1a; 1、论文为什么要查重 2、论文查重的原理 3、英文论文怎么查重 4、选择…

柳州楼顶种植水稻 国稻种芯·中国水稻节:广西12万亩米飘香

柳州楼顶种植水稻 国稻种芯中国水稻节&#xff1a;广西12万亩米飘香 广西新闻网-南国今报柳江讯&#xff08;记者钟华 通讯员梁睿&#xff09;新闻中国采编网 中国新闻采编网 谋定研究中国智库网 中国农民丰收节国际贸易促进会 国稻种芯中国水稻节 中国三农智库网-功能性农业农…

RabbitMQ常用消息模式

目录 1、RabitMQ工作队列 2、交换机 3、RabbitMQ Fanout 发布订阅--- Fanout exchange(扇型交换机) 3.1、创建连接代码 3.1、生产者代码 3.2、消费者代码 4、Direct路由模式 4.1、生产者代码 4.2、消费者代码 5、Topic主题模式 5.1、生产者代码 5.2、消费者代码 1、…

分享两套企业级进销存管理系统源码

▶▶▶▶1&#xff1a;SpringBoot企业级进销存ERP管理系统源码 00189 本系统采用企业级开发标准&#xff0c;使用SpringBoot架构&#xff0c;数据访问层采用Spring Data Jpa&#xff0c;业务控制层采用SpringMvc&#xff0c;安全框架采用Shiro&#xff0c;实现了完整权限系…

风控模型别只会KS、AUC了,来看看其他衡量模型好坏的一些重要指标吧|含实操

当我们训练好一个机器学习模型之后&#xff0c;必然会对模型的综合性能进行评估&#xff0c;针对分类、回归、聚类等不同类型的算法模型&#xff0c;可以采用相关的评价指标&#xff0c;例如分类模型的Accuracy、KS等&#xff1b;回归模型的MAE、MSE等&#xff1b;聚类模型的SS…

Linux下编写C使用的GDB调试器

目录 1.GDB调试器 2.GDB使用 3.实例程序调试 &#xff08;1&#xff09;编写一段C程序 &#xff08;2&#xff09;对C程序进行编译 &#xff08;3&#xff09;调试阶段 ①启动调试 ②查看文件 ③设置断点 ④查看断点情况 ⑤运行代码 ⑥单步运行 ⑦恢复程序 ⑧查看…

数字孪生建筑工程系统开发案例方案,如何选择数孪平台?

据统计&#xff0c;全国建筑业增长值在 GDP 增长中所占比重连续十年保持在 6. 85%以上&#xff0c;其支柱产业的地位依然保持。但是我国建筑业产值利润率已连续五年下滑&#xff0c;部分原因是其生产方式粗放、信息化水平不高、科技创新能力不足等。因此&#xff0c;在发展数字…

java类加载机制解析

一&#xff1a;类加载流程 public class Math {public static final int initData 666;public static User user new User();public int compute(){int a 1;int b 2;return ab;};public static void main(String[] args){Math math new Math();math.compute();} } 当我们…

Mybatis批量插入数据

前言 在很多业务场景中&#xff0c;我们需要批量录入数据。那么意味着我们需要以最高效的方式去实现功能&#xff0c;同时也需要保证软件的便捷性与可维护性&#xff0c;开源字节使用MyBatis foreach标签方式优雅的实现了材料的出入库。源码开放&#xff0c;可前往码云仓库免费…

NR 物理层编码 - slide7 卷积码

前言&#xff1a; 卷积码(n,k,N) 是一种非分组码.与线性分组码的区别: 是一种有记忆的编码方案,n个输出不仅与当前k个输入有关系,也与移位寄存器前N个输入有关系. 发展历史&#xff1a; 1955年 麻省理工的P.Elias 发明 1957年 序列译码法 1963年 门限译码法 1967年 Vi…

MongoDB分片机制

为什么需要分片 应用层实现的手动分片&#xff1a; MongoDB分片组件 mongos路由器负责将应用程序的请求指引到合适的分片上。注意到mongos路由器是在应用程序端实现的&#xff0c;因此分片的配置信息需要保存在另外的服务器上&#xff0c;即配置服务器。mongos通过两阶段提交同…

使用PreparedStatement对数据库的增删改查

目录 介绍 JDBCUtils自定义工具类 增 删 改 查 介绍 可以通过调用 Connection 对象的 preparedStatement() 方法获取PreparedStatement 对象PreparedStatement 接口是 Statement 的子接口&#xff0c;它表示一条预编译过的 SQL 语句PreparedStatement 对象所代表的 SQL 语…

拼搏半个月,刷了 571道Java高频面试题喜提阿里 offer,定级 P7

今年较往年相比面试要难的多&#xff0c;大环境也是对于程序员的要求越来越高&#xff0c;环境是我们无法改变的&#xff0c;我们能改变的只有自己&#xff0c;月初我一好友&#xff0c;努力拼搏一周&#xff0c;刷完了这份阿里 P8 大牛整理的这 571 道 Java 高频面试题笔记&am…

彩色的木棒

一 问题描述 给你一堆木棒。每根棒的每个端点都用一些颜色着色。是否可以将棒对齐成直线&#xff0c;使得接触的端点的颜色具有相同的颜色&#xff1f; 二 输入和输出 1 输入 输入是一系列行&#xff0c;每行包含两个单词&#xff0c;由空格分隔&#xff0c;给出一个木棒的…

SkeyeVSS智慧国土高点视频监控解决方案

随着经济的快速发展、城镇化的快速推进&#xff0c;耕地及矿产资源等不断减少&#xff0c;未批先建、批少用多、私自改变土地用途等各种违法违规用地行为时有发生&#xff0c;在这种情况下&#xff0c;传统的人力巡查工作效率低、执法成本高的弊端进一步凸显。 SkeyeVSS智慧国土…