该示例实现了tensorboard对训练数据图像、模型计算图、学习率、损失值、准确率、梯度、模型权值参数的可视化:
# 监控loss, accuracy, weights, gradients
import numpy as np
import math
import os
import torch
import torch.nn as nn
import torch.optim as optim
import torchvision
from torchvision import datasets
from torchvision import models
import torchvision.transforms as transforms
from torch.utils.tensorboard import SummaryWriter
from tqdm import tqdm
if __name__ == '__main__':
# 参数设置
NUM_CLASSES = 100
MAX_EPOCH = 100
BATCH_SIZE = 64
INIT_LR = 0.01
LRF = 0.1 # 倍率因子,最后学习率会降到初始学习率的0.1倍
LOG_INTERVAL = 10
VAL_INTERVAL = 1
SAVE_CHECKPOINTS_DIR = 'checkpoints'
# 构建 SummaryWriter
summary_writer = SummaryWriter(log_dir='logs')
if not os.path.exists(SAVE_CHECKPOINTS_DIR):
os.makedirs(SAVE_CHECKPOINTS_DIR)
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
transform_train = transforms.Compose([transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])])
transform_test = transforms.Compose([transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], s