一、简介
wandb(Weights & Biases)是一个类似于tensorboard的极度丝滑的在线模型训练可视化工具。
wandb这个库可以帮助我们跟踪实验,记录运行中的超参数和输出指标,可视化结果并共享结果。
官网地址
下面是wandb的重要的工具:Dashboard:跟踪实验,可视化结果;Reports:分享,保存结果;Sweeps:超参调优;Artifacts:数据集和模型的版本控制。
https://wandb.ai/site/experiment-trackinghttps://wandb.ai/site/experiment-trackinghttps://wandb.ai/site/reportshttps://wandb.ai/site/reportshttps://wandb.ai/site/artifactshttps://wandb.ai/site/artifactshttps://wandb.ai/site/tableshttps://wandb.ai/site/tableshttps://wandb.ai/site/sweepshttps://wandb.ai/site/sweeps
官方文档:
二、安装
2.1、安装库
pin install wandb
2.2、注册和登录
先在官网进行注册,拿到token码,在项目环境中:
wandb login
2.3、导包和初始化
import wandb
wandb.init(project="项目名",entity=“账户名”)
2.4、声明超参数
wandb.config.dropout = 0.2
wandb.config.epoch = 500
2.5、记录日志
在合适的位置加入:
wandb.log({"epoch":epoch , "loss":loss})
2.6、保存文件(默认放在wandb/run的文件夹中)
wandb.save("mymodel.h5")
三、在YOLOV6中加入wandb
1、首先安装,注册,登录。
在train.py中导入wandb包,主方法中添加:
wandb.init(project= "项目名", entity=“用户名”)
在engine.py中
__init__ 方法添加
self.wandblogger = wandb.log
方法结尾处添加:
wandb.config.update(dict(epoch=self.max_epoch,batch_size=self.batch_size))
在eval_and_save方法中添加:
wandblogger({"val/mAP@0.5":results[0],"epoch":epoch+1,"val/mAP@0.50:0.95":results[1],"train/iou_loss": losses[0], "train/l1_loss":losses[1],"train/obj_loss":losses[2],"train/cls_loss":losses[3]})
就可以训练了,进入log打印出来的网站,就能看见项目啦