导入tensorboard包
from torch.utils.tensorboard import SummaryWriter
写一个实例对象writer,写到文件中
writer = SummaryWriter("logs")#事件文件
在使用的过程中,tensorboard从这里进行画图
tensorboard也有很多函数
def add_scalar(self, tag, scalar_value, global_step=None, walltime=None):
tag表示标题,后面依次是y,x轴
最后有个writer.close()
在vscode中,在引入后会弹出一个按钮,点击安装即可
或者在当前文件的cmd(logs创建的地方),使用命令行
tensorboard --logdir=logs --port=6008
--port指定窗口进行运行实行
当在未改变文件名直接修改会出现比较奇怪的图像形式
(具有相同的tag)
writer.add_scalar("y = x",i,i)
writer.add_scalar("y=x",4*i,i)
出现的原因是writer会记录上一个时间的结果,这是拟合的情况
解决方法
删除logs重新运行
add_image(self, tag, img_tensor, global_step=None, walltime=None, dataformats='CHW'):
Args:
tag (string): Data identifier
img_tensor (torch.Tensor, numpy.array, or string/blobname): Image data
global_step (int): Global step value to record
walltime (float): Optional override default walltime (time.time())
seconds after epoch of event
以上可以看到需要相应的数据类型
当我们的图片不是array如何转化:
img = Image.open(img_path)
print(type(img))
img_array = np.array(img)
print(type(img_array))
当准备工作就绪之后,在进行运行程序。
writer.add_image("test",img_array,1)
原因是数据形状不匹配。
# If you have non-default dimension setting, set the dataformats argument.
writer.add_image('my_image_HWC', img_HWC, 0, dataformats='HWC')
改成
writer.add_image("test",img_array,1,dataformats='HWC')
第三位的数字表示的是显示几张图片
成功运行