Tensorboard(Tensorboard的使用、新建、一个tag下展示多种数据、分组)

0. 省流

0.1 安装 Tensorboard:

pip install tensorboard

0.2 实例化 Tensorboard

import torch
import numpy as np
from torch.utils.tensorboard import SummaryWriter
import os
import time
import datetime


# 设置PyTorch的随机数种子
seed = 42
torch.manual_seed(seed)

# 如果使用了GPU,还需要设置相应的随机数种子
if torch.cuda.is_available():
    torch.cuda.manual_seed(seed)
    torch.cuda.manual_seed_all(seed)

# 设置Numpy的随机数种子
np.random.seed(seed)


def get_current_time():

    # 获取当前时间
    current_time = datetime.datetime.now()

    # 将时间格式化为年月日时分秒格式
    formatted_time_a = current_time.strftime("%Y-%m-%d %H:%M:%S")
    return formatted_time_a


# 设置Tensorboard
save_folder_path = f"runs/{get_current_time()}"
if not os.path.exists(save_folder_path):
    os.makedirs(save_folder_path)

tb_writer = SummaryWriter(log_dir=save_folder_path, flush_secs=5)
 # 添加Tensorboard
 tb_writer.add_scalar("train/learning rate", lr, epoch)
 tb_writer.add_scalar("train/train_loss", mean_loss, epoch)
 tb_writer.add_scalar("val/mean IoU", mean_IoU, epoch)
 tb_writer.add_scalar("val/global correct", global_correct, epoch)

1. 效果图

1.1 一个Tag多种数据

在这里插入图片描述

在这里插入图片描述

1.2 一个Tag一种数据

在这里插入图片描述

2. 演示代码

from torch.utils.tensorboard import SummaryWriter
import random

# 实例化tensorboard
tb_writer = SummaryWriter(log_dir="./runs",
                          comment="example_1",
                          flush_secs=3)

# 创建一些数据
epochs = 150
strat_epoch = 1

for epoch in range(strat_epoch, epochs):
    lr = random.random()  # 返回[0, 1]的float
    coco_mAP = random.random()
    voc_mAP = random.random()
    coco_mAR = random.random()

    giou_loss = random.random()
    obj_loss = random.random()
    cls_loss = random.random()
    loss = random.random()

    losses = [giou_loss, obj_loss, cls_loss, loss]

    """
        'train/giou_loss', 'train/obj_loss', 'train/cls_loss', 'train/loss'表示一个tag下多种数据(tag名称为train)
        剩下都均为单独的tag,tag名称为其自身
    """
    if tb_writer:
        tags = ['train/giou_loss', 'train/obj_loss', 'train/cls_loss', 'train/loss',
                "learning_rate",
                "mAP@[IoU=0.50:0.95]",
                "mAP@[IoU=0.5]",
                "mAR@[IoU=0.50:0.95]"]

        for x, tag in zip(losses + [lr, coco_mAP, voc_mAP, coco_mAR], tags):
            tb_writer.add_scalar(tag, x, epoch)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值