(7)Pytorch保存日志 tensorboard、logger

Pytorch保存日志

一、Tensorboard

参考资料

在这里插入图片描述

核心代码

from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter(log_dir=" ")

for i in range(100):
    writer.add_scalar('y=2x', i*2, i) #y=2x 必须是单引号
writer.close()

1.1 查看日志

tensorboard --logdir=my_path (--port=6007/6006)

1.2 和 tensorboardX的区别

参考资料

二、Logger

TODO


以前使用yolov3实验记录的资料,暂时留存

# from YOLOv3
import os
import datetime
from torch.utils.tensorboard import SummaryWriter

class Logger(object):
    def __init__(self, log_dir, log_hist=True):
        """Create a summary writer logging to log_dir."""
        if log_hist:    # Check a new folder for each log should be dreated
            log_dir = os.path.join(
                log_dir,
                datetime.datetime.now().strftime("%Y_%m_%d__%H_%M_%S"))
        self.writer = SummaryWriter(log_dir) 

    def scalar_summary(self, tag, value, step):
        """Log a scalar variable."""
        self.writer.add_scalar(tag, value, step)

    def list_of_scalars_summary(self, tag_value_pairs, step):
        """Log scalar variables."""
        for tag, value in tag_value_pairs:
            self.writer.add_scalar(tag, value, step)
            
            
# 使用tensoboard
logger = Logger(args.logdir)  # Tensorboard logger


# Tensorboard logging
tensorboard_log = [
    ("train/iou_loss", float(loss_components[0])),
    ("train/obj_loss", float(loss_components[1])),
    ("train/class_loss", float(loss_components[2])),
    ("train/loss", to_cpu(loss).item())]
logger.list_of_scalars_summary(tensorboard_log, batches_done) # 画出上述的四条线
# 照猫画虎:logger.list_of_scalars_summary([("loss", LOSS), ("acc", ACC)], batch_down)


if metrics_output is not None:
    precision, recall, AP, f1, ap_class = metrics_output
    evaluation_metrics = [
        ("validation/precision", precision.mean()),
        ("validation/recall", recall.mean()),
        ("validation/mAP", AP.mean()),
        ("validation/f1", f1.mean())]
    logger.list_of_scalars_summary(evaluation_metrics, epoch

可视化

如果打不开网页请改一下port端口,默认6006,测试的时候打不开,改成9009后可显示。

tensorboard --logdir=/home/workspace/Amber/PyTorch-YOLOv3/logs/2022_02_20__09_18_36 --port=9009
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值