深度学习模型训练神器之wandb

前言

  • 文章来源: LawsonAbs@CSDN
  • 本文介绍深度学习模型训练过程中最最最最经常且应该使用的神器——wandb!

1. wandb

1.1 是什么?

初步接触wandb 是在TPLinker 这篇论文的代码,当初还觉得这作者搞这么麻烦的日志记录干嘛,搞不懂 (现在才知道自己是多么的无知 -_-||
训练神经网络模型需要记录每次运行的参数,这是非常重要的一个步骤,如果仅靠自己+excel来做简直太低效了。那么wandb就是一个非常好的日志记录工具了。(我要吹爆!

1.2 如何使用?

那么如何使用 wandb 呢? 非常简单,想在模型训练中添加wandb记录日志袋盖只需要5行代码:

import wandb # 导入wandb库

# 放在程序入口 
wandb.init(project="csdn_lawsonabs",entity="lawsonabs",config=opt) # project 含义是当前跑的这个模型日志放在哪个project下,entity代表是哪个用户下,config 代表是本次模型运行的参数

# 放在
wandb.log(dict_info) # dict_info 是一个字典形式的信息,主要是记录模型的metric等信息,如f1,recall , precision

2. sweep

sweep 可以和wandb一起结合来使用,主要是用来寻找模型较为合适的超参数。最常见的一个图是:
在这里插入图片描述
这里就会给出 learning_rateneg_weight 对模型效果(dev_f1)的影响。同时模型也会给出整个模型中较为重要的参数。

那么该怎么结合wandb 使用 sweep呢?主要有三种方法,但是这里我介绍使用yml文件配置的方法。主要步骤是:

  • step 1. 写一个配置文件
method: bayes # 寻找参数的方法 
metric: # 衡量目标
  goal: maximize
  name: ing f1
parameters: # 参数项,就是我们需要调参的参数集合
  activation: 
    distribution: categorical
    values:
    - relu
    - tanh
  dropout:
    distribution: uniform
    max: 0.6
    min: 0.1
  epoch:
    distribution: int_uniform
    max: 300
    min: 150
  graph_threshold:
    distribution: uniform
    max: 0.99
    min: 0.9
  lr:
    distribution: uniform
    max: 0.02
    min: 0.0005
  lr_bert:
    distribution: uniform
    max: 4e-05
    min: 1e-05
  lr_rgcn:
    distribution: uniform
    max: 0.01
    min: 0.0005
  negativa_alpha:
    distribution: int_uniform
    max: 30
    min: 1
  weight_decay:
    distribution: uniform
    max: 0.0002
    min: 5e-05
program: train_rrcs_no_batch.py
  • step 2. 创建sweep anget
    wandb sweep train.yml
    这个步骤会得到一个sweep 实例,后面我们使用这个实例即可。

  • 运行sweep 实例
    指定显卡+nohup运行+写入日志到文件+后台运行
    CUDA_VISIBLE_DEVICES=2 nohup wandb agent lawsonabs/RRCS-code/guukojam > train.log 2>&1 &

需要注意的是:这个agent 会在该卡上继续运行,直到所有的参数搜索完毕。如果中途想取消正在运行的sweep 实例,可以执行如下命令
在这里插入图片描述

参考资料

可以参考wandb中的文档

  • https://docs.wandb.ai/ref/cli/wandb-sweep
  • 9
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

说文科技

看书人不妨赏个酒钱?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值