如有侵权或其他问题欢迎留言联系更正或删除。如何访问对应的 tensorboard 文件tensorboard --logdir 你的日志目录路径注意此处的路径是那个文件夹目录而非文件夹下具体的日志目录此外命令行内是两个 -在 TensorBoard 中同时可视化多个日志文件的方法以便对比不同实验的结果1.整理日志文件结构先把不同实验的日志文件放在同一根目录下的不同子文件夹这是最推荐的方式如下所示my_runs/ # 根目录 experiment_01/ # 实验1的日志比如学习率0.01 experiment_02/ # 实验2的日志比如学习率0.001 experiment_03/ # 实验3的日志比如优化器为Adam2. 启动 TensorBoard 并指定根目录打开终端进入日志根目录的上级路径执行以下命令# 核心命令指定包含所有子日志的根目录 tensorboard --logdirmy_runs若日志文件在不同路径可自定义名称并逗号分隔tensorboard --logdirlr0.01:/path/to/exp1,lr0.001:/path/to/exp23.查看多文件可视化结果启动后终端会输出访问地址默认http://localhost:6006打开浏览器访问该地址TensorBoard 会自动识别根目录下的所有子日志文件在 Scalars、Losses 等面板中不同实验的曲线会以子文件夹名称为标签显示可直接对比writer.add_scalar ( ) 用法介绍1. 引入相应的库函数并创建 writer 实例from torch.utils.tensorboard import SummaryWriter # 创建实例指定存储的文件夹名称 writer SummaryWriter(log)2. 介绍函数用法writer.add_scalar ( )# 一个例子绘制y 2x 函数图像 # writer.add_scalar(图像标题, y轴训练步数, x轴需存储的值) for i in range(100): writer.add_scalar(y2x,2*i,i)3. 如何打开 Tensorboard 生成的可视化文件在终端 (terminal) 输入指令tensorboard --logdirlog指定文件夹--port6007指定端口号输出的可视化结果4. 关闭 writer 实例# 关闭 writer.close()writer.add_image ( ) 用法介绍from torch.utils.tensorboard import SummaryWriter import numpy as np from PIL import Image # 存储可视化文件的 “文件夹名称” writer SummaryWriter(pic) # 此处自行修改并填写需显示的图片路径名称 image_path ... # 读取图片并调整格式 img_PIL Image.open(image_path) img_array np.array(img_PIL) # writer.add_image方法标题test图片内容img_array训练步数y轴1图片格式设置‘HWC’ writer.add_image(test, img_array, 1, dataformatsHWC) writer.close()输出的可视化结果writer.add_graph ( ) 用法介绍import torch from torch import nn from torch.nn import Flatten, Sequential from torch.utils.tensorboard import SummaryWriter # 搭建图示网络 class M (nn.Module): # 定义后续将使用的网络模块 def __init__ (self): super(M, self).__init__() # 使用 Sequential有助于简化网络搭建过程如下所示以此类推 self.model1 Sequential ( nn.Conv2d(3, 32, 5, padding2), nn.MaxPool2d(2), nn.Conv2d(32, 32, 5, padding2), nn.MaxPool2d(2), nn.Conv2d(32, 64, 5, padding2), nn.MaxPool2d(2), Flatten(), nn.Linear(1024, 64), nn.Linear(64, 10) ) # 定义前向传播 def forward(self, input): input self.model1(input) return input # 初始化上述定义的神经网络 m1 M() # 测试 q torch.ones((64,3,32,32)) t m1(q) print(t.shape) writer SummaryWriter(log) # 向函数 writer.add_graph 内分别输入模型 — m1,输入模型的具体数据 - q writer.add_graph(m1,q) writer.close()输出的可视化结果