使用 tensorboardX 进行损失可视化

写代码

from tensorboardX import SummaryWriter
logger = SummaryWriter(args.logdir)  # args.logdir是event保存的路径

画损失 (add_scalar)

def draw_losses(name, logger, loss, global_step):
    '''
    :param name: the name of loss figure
    :param logger: SummaryWriter
    :param loss: the value of loss
    :param global_step: the iteratons   (epoch * len(train_loader))
    '''
    logger.add_scalar(name, loss, global_step)

画输出图片(add_image)

def draw_images(logger, all_draw_image, global_step):
    '''
    :param logger: SummaryWriter
    :param all_draw_image: the dict saved images 
    :param global_step: the iteratons   (epoch * len(train_loader))
    '''
	for image_name, images in all_draw_images.items():
		if images.shape[1] == 1:
			images = colormap(images)
		if len(images.shape) == 3:
			images = images[np.newaxis, :, :, :]
		if images.shape[0] >4:
			images = images[:4, :, :, :]
		images = images[0]
    logger.add_image(image_name, images, global_step)

all_draw_image 是一个字典 {‘image’:image, ‘ouput’:output, ‘gt’:depth} 可根据情况进行适当修改,也可以不使用字典。

主函数中使用

draw_losses(‘trian_loss’, logger, losses.avg, niter)
draw_images(logger, all_draw_image, niter)

在训练结束时添加

logger.close()

网页查看

  1. 在文件夹中打开终端
    比如 logdir 的路径是‘/home/xxx/code/run/baseline/’
    那么就在'/home/xxx/code'的路径下打开终端
  2. 在终端里输入命令
    在终端输入tensorboard --logdir=run
    稍等片刻会出来一个网址http://localhost:6006/在浏览器中打开网址就可以啦~
  3. tips : 如果 显示tensorboard 命令不存在,使用绝对路径即可
    参考命令
    python3 /.../Python3.7/lib/python/site-packages/tensorboard/main.py --logdir=run
    
  4. 如果run文件夹下存在多个event文件,刷新网页就可以显示多条曲线
    使用 tensorboardX 进行损失可视化_第1张图片

你可能感兴趣的:(使用 tensorboardX 进行损失可视化)