什么是TensorBoard?
TensorBoard是一个用于可视化机器学习模型训练过程中的各种指标的工具,它可以帮助用户更好地理解和调试模型。TensorBoard可以显示各种类型的数据,如损失函数值、准确率、权重矩阵等,并且支持多种图表类型,如折线图、柱状图、散点图等。通过使用TensorBoard,用户可以在训练过程中实时监控模型的性能,并根据需要调整超参数和优化模型结构。
https://www.tensorflow.org/tensorboard?hl=zh-cn
安装TensorBoard
conda创建并激活虚拟环境:
[Python] conda、anaconda、miniconda的关系,miniconda安装,conda命令使用
通过“pip install tensorboard”安装:
启动并查看YOLO训练结果
tensorboard --logdir=训练结果保存路径
#指定到YOLOv8训练的根目录,里面有包含每一次训练的结果
tensorboard --logdir=D:\my_project\wepy\src\wepy\aitool\train\runs\detect\
#指定到YOLOv8训练的根目录下面的某一次训练的结果train2
tensorboard --logdir=D:\my_project\wepy\src\wepy\aitool\train\runs\detect\train2
在“D:\my_project\wepy\src\wepy\aitool\train\runs\detect”下有3个train相关的子目录(train/train2/train14),其中train和train14是进行YOLOv8训练时,在训练环境中没有安装tensorboard,所以没有生成训练日志事件文件(events.out.*),train2是安装tensorboard之后,再次执行训练,目录下生成了训练日志事件文件(events.out.*),对于没有训练日志事件文件的目录,tensorboard在启动之后会自动忽略掉。
http://localhost:6006/#timeseries
TensorBoard使用场景
查看历史训练结果
TIME SERIES(带有时间信息的相关指标)
训练用到的学习率:
查看recall(召回率),precision(精确率),mAP50,mAP50-90:
训练迭代中的loss变化过程:
SCALARS(不带时间的相关指标)
GRAPHS(模型的网络结构)
实时查看训练结果
通过右上角的“Settings”启动“Reload data”功能,TensorBoard会每隔30秒进行一次数据刷新,这种情况下,启动tensordboard的时候,可以把--logdir设置为正在进行的训练生成的目录,比如“tensorboard --logdir=D:\my_project\wepy\src\wepy\aitool\train\runs\detect\train3”,train3为正在进行的训练生成的目录。