Wandb:make visualization better than Tensorboard

wandb是一个强大的在线可视化工具,提供自动化实验记录和多人协作功能。它的Sweep模块特别适用于参数搜索,帮助优化模型性能,无需手动调整。用户可以更轻松地监控和分析实验结果,相比Tensorboard,wandb提供了更为便捷的配置文件管理和系统状态展示。
摘要由CSDN通过智能技术生成

Wandb:make visualization better than Tensorboard

wandb :一个在线的可多人协作的多功能可视化工具包

我最开始使用的tensorboard,还写了一些相关tensorboard的脚本用于实验。tensorboard这里就不详细介绍了,相信大家都比较了解。直到尝试了wandb。

更自动化的实验记录

话不多说,直接上图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A70CDj6c-1675495209895)(C:/Users/BlackFriday/AppData/Roaming/Typora/typora-user-images/image-20230204150021535.png)]

配置文件:

之前的配置文件都是用字典跟模型一起保存,要查看的时候要得加载模型,比较麻烦。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MMAs4e3J-1675495209897)(C:/Users/BlackFriday/AppData/Roaming/Typora/typora-user-images/image-20230204150034518.png)]

实验结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hXDsrQkZ-1675495209898)(C:/Users/BlackFriday/AppData/Roaming/Typora/typora-user-images/image-20230204150145828.png)]

运行log(可下载):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dqkjKHh5-1675495209899)(C:/Users/BlackFriday/AppData/Roaming/Typora/typora-user-images/image-20230204150440019.png)]

系统状况(虽然感觉没啥用):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XU5sVLa5-1675495209900)(C:/Users/BlackFriday/AppData/Roaming/Typora/typora-user-images/image-20230204150235217.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AN4YOCU9-1675495209901)(C:/Users/BlackFriday/AppData/Roaming/Typora/typora-user-images/image-20230204150301410.png)]

Sweep

参数搜索,我最喜欢的地方。

但你不懂参数设置,并且在打kaggle的时候加入多种trick,但是不知道怎么组合有效,就需要不停的关注和跟进实验情况,但是使用sweep进行相关设置之后,就可以比较放心的干其他事。想起来的时候看一眼即可,其会根据你设置的config进行搜索,并根据搜索情况列出相关参数对模型的重要程度已经相关性。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e3HWz6Hq-1675495209901)(C:/Users/BlackFriday/AppData/Roaming/Typora/typora-user-images/image-20230204150824148.png)]

下面给大家打个样(蒸的很关键),差不多就是这样,上手简单,相关参数请自行查阅org doc:

Define sweep configuration - Documentation (wandb.ai)

WANDB_SWEEP_PROJECT = 'rsna-breast-cancer-sweeps'
WANDB_PROJECT = 'RSNA-breast-cancer'

def main(config):
	train_data,train_label,test_data,test_label(config)
	model = build_model(config)
	optim,schedule = build_opt_schedule(model,config)
	with wandb.init(project=WANDB_PROJECT, name=name,group=WANDB_RUN_NAME) as run:
        for epoch in range(epoch_num):
            train_one_epoch(model,eptim,schedule,config)
            test_one_epoch(model,config)
            save_model(model)
            run.log({
                    'eval_cancer_loss': cancer_loss,
                    'eval_f1': f1,
                    'max_eval_f1': best_eval_score,
                    'eval_f1_thres': thres,
                    'eval_loss': loss,
                    'eval_aux_loss': aux_loss,
                    'epoch': epoch
                })
		

sweep_id = wandb.sweep(sweep={
    'method': 'bayes',
    'name': 'rsna-sweep',
    'metric': {
        'goal': 'maximize',
        'name': 'max_eval_f1'
    },
    'parameters': {
        'ONE_CYCLE_PCT_START': {
            'values': [0.05,0.1,0.15]
        },
        'EPOCHS': {
            'min': 2,
            'max': 12,
            'distribution': 'q_log_uniform_values'
        },
        'DROPOUT': {
            'values': [0.1, 0.2,0.3]
        }
        'POSITIVE_TARGET_WEIGHT': {
            'min': 1.,
            'max': 40.,
            'distribution': 'uniform'
        },
        'SMOTHING': {
            'min': 0.01,
            'max': 0.1,
            'distribution': 'log_uniform_values'
        },}
},
                    project=WANDB_SWEEP_PROJECT)
print('Generated sweep id', sweep_id)

def wandb_callback():
    with wandb.init() as run:
        config = run.config             
        print('params', config)
        main(config)

# Start sweep job.
wandb.agent(sweep_id,
            project=WANDB_SWEEP_PROJECT,
            function=wandb_callback,
            count=100000)

END

然后,我只是刚刚开始尝试使用,不是所有的功能都使用过,还有一些其他功能请根据org doc执行探索。

  • Visualize & Analyze Tables

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B4fIyAlG-1675495209902)(C:/Users/BlackFriday/AppData/Roaming/Typora/typora-user-images/image-20230204145414021.png)]

  • Collaborate on reports

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值