目录
一、安装tensorboard
方法1:Anaconda promt 内进入pytorch环境安装;
方法2:进入此project后台termina安装。安装代码都是:pip install tensorboard
二、tearsorboard的使用
1、主要用TensorBoard库里的SummaryWriter类:
直接向log_dir文件夹写入的一个event files,这个事件文件可以对tensorboard进行解析
2、此类的初始化函数:
(1)输入文件夹log_dir的名称,不输入的话有默认位置,在截图中解释中有
(2)后面的参数不常用。
(3)最后面有例子:Examples,什么都不设置,设置相应的文件夹,设置一些参数
3、最常用的是add_scalar()和add_image两种方法
三、add_scalar()方法
1、功能
添加标量,构造比如以下损失图等图表
2、方法解析
pycharm中.py文件中,按住Ctrl,方法变蓝,点击即可
(1)tag:图表的名称。即上述loss例子中图标上方的文字部分
(2)scalar_value:值的大小。图表纵坐标。
(3)scalar_step:进行到哪一步取的值。图标的横坐标。
注意:函数调用时,先输y轴的值,后输x轴。
3、add_scalar()方法实战
1)构造y=x函数:
from torch.utils.tensorboard import SummaryWriter #查看SummaryWriter类的作用 法1:Python console中用help方法,法2:按住ctrl键,变为蓝色,点击即可
write=SummaryWriter("logs")#对应的事件文件保存到logs文件夹下
#write.add_image()#常用的两个方法
#写一个y=x的图表
for i in range(100):
write.add_scalar("y=2x",2*i,i)#添加数值的方法,按住Ctrl,点击可以查看具体使用方法
write.close()
运行完毕左侧project内有logs事件文件,打开方式:本project的terminal,teasorboard --logdir=logs --port=6007(默认端口是6006,防止别人也在使用此端口,重新设定为6007)
2)错误解决:
(1)teasorboard打开了,但没有图像出现,换个浏览器试试,谷歌浏览器比较好显示。
(2)改变图形,但图表名称没有改,一个图表上会显示两个图形,且会有紊乱。解决方法:删除logs文件夹下的所有事件文件,重新运行更改之后的代码。
四、add_image()方法
1、功能
在tensorboard中显示图片
2、方法解析
pycharm中.py文件中,按住Ctrl,方法变蓝,点击即可
(1)tag:图像title
(2)img_tensor:图像,数据类型为:torch.tensor/numpy/string/blobname
(3)global_step:训练步骤
(4)dataformat:默认为CHW(通道数,高,宽),可以用img_tensor(自己定义的名称).shape查看格式,不一样需要在add_image()中重新指定dataformat
(5)其他不用管
3、add_image()方法实战
from torch.utils.tensorboard import SummaryWriter #查看SummaryWriter类的作用 法1:Python console中用help方法,法2:按住ctrl键,变为蓝色,点击即可
import numpy as np
from PIL import Image
write=SummaryWriter("logs")#对应的事件文件保存到logs文件夹下
#显示一张图片
img_path="E:\\pytorch pycharm\\data\\train\\ants_image\\0013035.jpg"
img_PIL=Image.open(img_path)#此种方法获取的图片数据类型不符合,可以在Python console右方查看,或type()方法输出
img_np=np.array(img_PIL)#此方法可以转为numpy类型
print(img_np.shape)
write.add_image("test",img_np,1,dataformats='HWC')#add_image方法,在tensorboard中显示图片,其dataformats是CHW(通道,高,宽),可以用img_np.shape查看其格式,
#写一个y=x的图表
for i in range(100):
write.add_scalar("y=2x",3*i,i)#添加数
write.close()
运行完毕左侧project内有logs事件文件,打开方式:本project的terminal,teasorboard --logdir=logs --port=6007(默认端口是6006,防止别人也在使用此端口,重新设定为6007)
在tensorboard界面上方IMAGE中就可以找到显示,若图片tag不改变,显示的image改变,在tensorboard IMAGE界面左右滑动图片即可切换通一个tag的图片。