参考博客:https://zhuanlan.zhihu.com/p/591047340
1、注册账号
首先,去wandb官网注册一个账号,选择个人使用即可(根据个人需要)
然后,登录得到一个API key
2、wandb使用
(1)命令行安装
pip install wandb
(2)在代码中使用
import wandb
比如:下图是NeuralKG框架中wandb的使用方法
更详细的可以参考博客:Wandb(Weights & Biases) 深度学习轻量级可视化工具(Sweeps & Artifacts)
(3)超参数寻优
我这里用的是config.yaml文件
command:
- ${env}
- ${interpreter}
- ${program}
- ${args}
program: main.py # 执行的主文件
method: bayes # 搜索方法,如:贝叶斯搜索
metric: # 搜索目标:最大化哪一个指标
goal: maximize
name: Eval|hits@10
# 下面都是执行main.py文件的超参数,对于不需要寻优的参数直接输入
# 需要寻优的用中括号
parameters:
dataset_name:
value: aptnotes
model_name:
value: TransH
max_epochs:
value: 100
loss_name:
values: [Adv_Loss, Margin_Loss]
train_sampler_class:
values: [UniSampler, BernSampler]
emb_dim:
values: [200, 400, 600]
lr:
values: [1e-4, 5e-5, 1e-6]
train_bs:
values: [1024, 512]
num_neg:
values: [64, 128]
然后在命令行中,输入以下代码:
wandb sweep --project project-name config.yaml
这里的project-name替换成你自己的项目名称,config.yaml需要详细到相对路径。
以上命令需要在program(这里是main.py文件)的路径下执行。
执行以上命令后会得到一个agent id,如下:
把这行黄色的字复制到命令行执行,就开始以不同的参数执行主文件啦!以下是部分执行过程
(4)结果查看
https://wandb.ai/home