pytorch 利用tensorboard显示loss,acc曲线等

 

运行环境:

python3.6.9 pytorch1.13.1 cuda10.0 cudnn7.5.1  

tensorboard显示

运行PointRCNN算法进行training,得出events.out.tfevents.1592297776.hkd-Precision-7920-Tower   打开终端输入:tensorboard --logdir path/to/tensorboard_logs/   会有输出:TensorBoard 1.6.0 at http://iccd:6006 (Press CTRL+C to quit)   将上述链接复制到浏览器中打开便可以显示该训练参数(tensorboard)    

tensorboard记录

 
from tensorboard_logger import Logger

logger = Logger(logdir="./tensorboard_logs", flush_secs=10)
...
def train(net, optimizer):
    for epoch in range(epoch_nums):
        net.train()
        for batch_idx, (inputs, targets) in enumerate(trainloader):           
            inputs = Variable(inputs, requires_grad=True).cuda()
            targets = targets.cuda()
            optimizer.zero_grad()
            outputs = net(inputs)
            loss = criterion(outputs, targets)
            loss.backward()  
            optimizer.step()
            train_loss += loss.item()
            ...
            # 记录所需的变量
            logger.log_value('avg_loss', train_loss/(batch_idx+1), epoch*len(trainloader) + batch_idx)
            logger.log_value('loss', loss.item(), epoch*len(trainloader) + batch_idx)
            logger.log_value('acc', 100. * correct / total, epoch*len(trainloader) + batch_idx)