TensorBoard是一个机器学习数据可视化的工具,本人一般会使用TensorBoard去实时查看深度学习中loss曲线和学习率。
代码加入
首先在深度学习train代码里加入几句代码~
下面的代码是在每个epoch结束时记录训练损失,并将其写入到TensorBoard中以便于后续的可视化分析。
total_loss_np = Total_loss.detach().cpu().numpy()
tem_loss.append(total_loss_np)
# LOSS = np.append(total_loss_np)
# #######################################################################################
#from tensorboardX import SummaryWriter
# 在epoch循环之前加入
# 在epoch循环内最后一行加入
# 可以加多行,即画多个图
writer.add_scalar('loss / train_loss',np.mean(tem_loss) ,global_step=epoch) # 表示在loss目录下画train_loss图,横坐标为epoch,纵坐标为train_loss
下面的代码是用来设置TensorBoard的记录目录的,其中tensorboard_dir变量定义了TensorBoard日志文件将要保存的位置,而SummaryWriter是来自torch.utils.tensorboard模块的一个类,用于写入事件文件,这样就可以在TensorBoard仪表板上查看训练过程中的各种指标。
tensorboard_dir = "/media/inspur/zhaoyn/deepclear_finetune_train/loss"
writer = SummaryWriter(tensorboard_dir) # tensorboard_dir是日志保存的位置
TensorBoard 安装
在命令终端使用pip安装即可:
pip install tensorboard
可以通过以下指令查看安装状态
tensorboard --help
TensorBoard 启动
在终端输入以下命令行启动
tensorboard --logdir /media/inspur/zhaoyn/deepclear_finetune_train/loss
注意
上面命令行里的路径需要修改为你自己的路径。这是log文件的上一个目录,也就是TensorBoard的log文件所在的目录。Tensorboard面板中展示的数据都来源于log文件,一般一次完整的运行生成一份log文件。
进入TensorBoard界面
TensorBoard 启动后,输出了一个网址,说明启动成功:
TensorBoard 2.8.0 at http://localhost:6006/ (Press CTRL+C to quit)
复制网址http://localhost:6006/,在浏览器中输入即可进入TensorBoard界面。
这样就可以在TensorBoard中看到训练损失随epoch变化的趋势图了~