Tensorboard
这里使用的是pycharm
tensorboard可以用来进行一些可视化操作,观察每个模型不同阶段的结果,输入数据的样子等
首先创建tensorboard
from torch.utils.tensorboard import SummaryWriter
# 所有生成保存在logs目录下
writer = SummaryWriter('logs')
在终端输入tensorboard --logdir=logs --port=6007
可以打开tensorboard服务,端口可以省略也可以指定
add_scalar
参数:
tag图表题目,
scalar_value y轴,
global_step x轴
一个标题代表一个图
for i in range(100):
writer.add_scalar('y=2x', 2*i, i)
如果改动y轴和x轴关系但没改变标题,这个新的操作会在该标题的图中继续进行,如下图。可以看到先花了一个y=2x的图像,然后又画了一个y=3x的图像,中间过渡时进行了一些拟合。
出现上述错误的推荐做法:
- 对不同的任务生成不同的子目录进行管理
- 删除当前目录下的所有已生成文件,关掉服务,重新生成图并运行服务
add_image
参数:
tag 图片标题
img_tensor 图像的tensor可以接受类型为torch.Tensor、np.array等,但要求格式是(C,H,W)
global_step 第几张图
如果不满足(CHW)的格式,需要指定参数dataformats=‘HWC’(由opencv读入的numpy格式)或其他
# opencv读入是BGR,需要转换成RGB
img_path = 'dataset/train/ants/0013035.jpg'
img = cv.imread(img_path)
img = cv.cvtColor(img, cv.COLOR_BGR2RGB)
img_path1 = 'dataset/train/ants/5650366_e22b7e1065.jpg'
img1 = cv.imread(img_path1)
img1 = cv.cvtColor(img1, cv.COLOR_BGR2RGB)
writer.add_image('test', img, 1, dataformats='HWC')
writer.add_image('test', img1, 2, dataformats='HWC')
图片通过挪动滚栏切换。