Pytorch用Tensorboard来观察数据
作者:游客26024 发布时间:2022-11-28 19:57:52
标签:Pytorch,Tensorboard,观察,数据
上一章讲数据的处理,这一章讲数据处理之后呈现的结果,即你有可能看到Loss
的走向等,这样方便我们调试代码。
1.Tensorboard
有两个常用的方法:
一个是
add_scalar()
显:示曲线一个是
add_image()
显示图像
首先安装Tensorboard
在你的编译环境(conda activate XXX
)中输入命令
pip install tensorboard
1.使用add_scalar()输入代码
from torch.utils.tensorboard import SummaryWriter #调包
writer = SummaryWriter('logs') # 这里你创建了一个logs的文件装你的add_scalar生成的曲线,
#其中writer.add_scalar()第一个量是曲线的名字,
#第二个量是纵坐标scalar_value,第三个量是横坐标global_step(也可以理解为损失值得步长)
for i in range(100):
writer.add_scalar("quadratic", i ** 2, i)
writer.close()
打开这个Tensorboard文件
tensorboard --logdir=logs
#1.这个logdir的文件名必须要与之前所创建的文件名一致,不然很容易报错,No dashboards are active for the current data set.
#2.这个tensorboard输入的命令,必须是在logs文件的上一层文件中,不然也很容易报错,No dashboards are active for the current data set.
结果现实:
2.使用add_image()输入代码
注意:add_image()
中函数一般有三个量:
第一个是图像的名字,第二个是图像(必须是tensor或者numpy.ndarray),第三个是步长(可理解为训练或者测试阶段到哪幅图像了);
其中,图像的shape
必须是CHW,但是有opencv
读取的图像shape
是HWC,
所以得使用dataformats
转换以下将图像的shape转换为HWC
下面的代码测试了两张图(一张是来自aligned
的图像,一张是来自original
的图像)用来模拟训练或者测试阶段程序运行到哪张图
from torch.utils.tensorboard import SummaryWriter
import cv2
writer = SummaryWriter('logs')
aligned_img_path = "D:\\data\\basic\\Image\\aligned\\test_0001_aligned.jpg"
original_img_path = "D:\\data\\basic\\Image\\original\\test_0001.jpg"
aligned_img = cv2.imread(aligned_img_path)
original_img = cv2.imread(original_img_path)
print(type(aligned_img)) # numpy
print(aligned_img.shape)
# writer.add_image("img", aligned_img, 1, dataformats='HWC') #此图已经在我第一次测试add_image()用过了
writer.add_image("img", original_img, 2, dataformats='HWC')#此图是我在第二个测试
writer.close()
实现结果:
tensorboard中出现了IMAGES,并且step1是aligned的图,而step2是original的图
来源:https://blog.csdn.net/XiaoyYidiaodiao/article/details/121962867
0
投稿
猜你喜欢
- 如下所示:import pandas as pd#如果需要的话,需将df中的date列转为datetimedf.date = pd.to_d
- 直接使用word文档已经难不倒大家了,有没有想过用python构建一个word文档写点文章呢?当然这个文章的框架需要我们用代码一点点的建立,
- 创建测试数据:import pandas as pdimport numpy as np#Create a DataFramedf1 = {
- 1. python中创建新的csv文件(1). 使用csv.writer()创建:代码如下:import csvheaders = [
- 起因是因为公司要开发一款自动登录某网站的助手工具提供给客户使用,要使用到selenium,所以选择了pyqt5的方式来开发这个C/S架构的客
- 以前在windows下一直用的idel带的功能调试python程序,在linux下没调试过。(很多时候只是print)就从网上查找一下~方法
- 浏览器对于CSS的支持问题落后于CSS的发展,以占有市场绝对份额的Internet Explorer来说,直到其前不久发布的第8个版本才刚刚
- 一、概述任务描述:开发一个程序,用于获取局域网中开启snmp服务的主机ip地址列表,并写入相应文件以便其它程序使用。背景知识:SNMP是基于
- 虽然每个图像具有多个通道和多层卷积层。例如彩 * 像具有标准的RGB通道来指示红、绿和蓝。但是到目前为止,我们仅展示了单个输入和单个输出通道的
- 1、我们使用正常的输出语句得到的是(输出结果:division by zero)虽然得到了错误的日志输出,但是不知道为什么出错,也不能定位具
- 众所周知,我们可以通过索引值(或称下标)来查找序列类型(如字符串、列表、元组…)中的单个元素,那么,如果要获取一个索引区间的元素该怎么办呢?
- 前一段时间就安装了AspJpeg 2.0,一直没有时间去测试,直到昨天晚上因为服务器无法访问才在本机测试下,特分享下测试结果,只针对GIF图
- 创建项目scrapy startproject zhaoping创建爬虫cd zhaopingscrapy genspider hr zha
- 一、简述最近接到一个新需求,让做一个动效进度条。由于我们的产品比较大,在软件启动的时候会消耗比较长的时间,原生的进度条已经不能满足我们的需求
- 关于Tensor的数据类型说明1. 32位浮点型:torch.FloatTensora=torch.Tensor( [[2,3],[4,8]
- 使用Keras作前端写网络时,由于训练图像尺寸较大,需要做类似 tf.random_crop 图像裁剪操作。为此研究了一番Keras下已封装
- 方法一使用Python中的内置函数isupper()和islower()来判断一个字母是否为大写或小写字母。# 获取用户输入letter =
- 最近要做一个网站需要用到天气预报,本来是想找到API,自己写一个自己的天气预报小程序的,没有成功,只好去找现成的代码调用。经过测
- 数据库系统的安全性包括很多方面。由于很多情况下,数据库服务器容许客户机从网络上连接,因此客户机连接的安全对MySQL数据库安全有很重要的影响
- 本文实例为大家分享了答题辅助python具体代码,供大家参考,具体内容如下from screenshot import pull_scree