wandb 您所在的位置:网站首页 resume文件 wandb

wandb

2023-11-17 17:32| 来源: 网络整理| 查看: 265

1、基础使用 安装   

pip install wandb

初始化 import wandb wandb.login()

会让你输入api,你新建仓库,复制api就算初始化完成了

保存输出参数曲线

可以写一个配置文件

cfg = Namespace( project_name = 'snake2022', batch_size =20, lr = 0.001, max_lr = 0.001, epochs = 20, wd = 5e-4, optimizer_type = 'AdamW', scheduler_type = 'OneCycleLR', num_workers = 48, #采用那个模型 model_number = 7, #开启多gpu more_gpu = True, checkpoint_path = 'best_checkpoint.pth', id = wandb.util.generate_id(), best_acc = 0.0, resume = True )

你想要输出什么曲线就可以输入

wandb.init(project = cfg.project_name, config = cfg.__dict__, name =nowtime, save_code=True, resume=True)

最后在训练代码中加入输出曲线的代码wandb.log

wandb.log({"train_acc":train_acc, "train_loss":train_loss, "lr":optimizer.param_groups[0]['lr'], "epoch": epoch})

每一次运行就会生成一个图,还可以生成报告分享给别人看

最后在你写完所有的功能代码后,要在代码最后加上wandb.finsh()结束wandb传输

2、断点训练让曲线输出在一张图上(resume)

在断点训练的时候不想让wandb重新生成一张图,想在原来的图上继续划线,如下图所示,棕色线是接下去,而下边的绿和墨绿是分开的

 

首先需要把resume甚至为ture,然后直接运行就可以

wandb.init(project = cfg.project_name,             config = cfg.__dict__,            name =nowtime,            save_code=True,            resume=True)

若是发现此时训练的id和上次不一样,那么需要强制更改,找到wandb文件下的json闻佳,更改里边的id为想要继续的id,然后重新运行就可以

 3、Artifact文件保存功能

可以使用一下代码来保存每一次运行的日志,模型等文件

 

 这段代码是放到我的模型训练后的,在写完wandb的其他代码后要加上wandb.finsh()

arti_code = wandb.Artifact('ipynb',type = 'effb7') arti_code.add_file('snake2022.ipynb') wandb.log_artifact(arti_code) arti_bmodel= wandb.Artifact('bestcheckpoint',type = 'effb7') arti_bmodel.add_file('best_checkpoint.pth') wandb.log_artifact(arti_bmodel) arti_lmodel= wandb.Artifact('lastcheckpoint',type = 'effb7') arti_lmodel.add_file('last_checkpoint.pth') wandb.log_artifact(arti_lmodel) arti_log = wandb.Artifact('effb7-log',type = 'effb7') arti_log.add_file('effb7-02.txt') wandb.log_artifact(arti_log) wandb.finish()



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有