安装与登录

  1. 安装
pip install wandb
  1. 注册并登录
    https://wandb.ai/site
  2. 客户端登陆
    在终端中输入wandb login
    然后出现You can find you API key的一串网站,点击进入,复制API key,然后返回终端粘贴回车

运行中遇到错误取这里查阅

基础使用与可视化

常用函数

wandb.init()

这个函数的作用与平常定义类里面的init函数作用类似,都是起初始化的作用

wandb.init(project='project',
         entity='team_name',
         name='run_name',
         config=config)
  1. project:用于指定项目名称
    wandb 在运行的过程中会自动帮你创建一个以此命名的项目文件,run 结果 都会存放在这个项目文件里。
    如果没有指定项目名称,run 结果 会放在一个 “Uncategorized” 未分类项目中
  2. entity : 用户名或团队名称 (可以是团队或组织的名称,也可以是团队或组织的 ID),你可以将本次run 的记录发送到这个指定的用户名下 或 团队下。如果没有指定 entity,则记录将被发送到 您的用户名下。
  3. name:此次run的名称。不设置的话,默认情况下,会生成一个随机的两个单词的名称,
  4. conifg: 用于记录训练配置、超参数。传入的数据格式为 字典

例子
在这里插入图片描述

wandb.config()

用于保存训练配置,这些配置包含超参数、数据集名称、模型类型等

  1. 可以在 wandb.init() 中对 config 进行定义
  2. 之后可以使用 wandb.config.update() 对 config 进行追加。它将传入的键值对追加到 config 中。如果传入的键值对中包含已经存在的键,则将新值覆盖旧值。
  3. 如果在wandb.init() 中没有设置 conifg,那么就使用 wandb.config.update() 进行具体内容的输入。
    例子
    在这里插入图片描述

wandb.log()

会将数据记录到当前的历史记录,换句话说就是每次运行到这里,系统就会将log内的参数值自动上传更新,一般数据会直接绘制成表格。

wandb.log({"acc": acc, 
           "loss": loss})

例子
在这里插入图片描述

wandb.finish()

用于通知 Wandb 服务器该运行已经结束,并将所有数据上传到服务器。

wandb.watch()

用于跟踪模型以及跟踪模型中的参数和梯度,并且支持可视化的展示训练过程中的参数和梯度的动态变化
通过观察 (parameters 板块中) 参数值的分布是否趋于稳定,以及 梯度是否收敛到趋近于0,可以判断当前模型的收敛情况

wandb.watch(model, log="gradients", log_freq=1000, log_graph=False)
  1. models:要监控的模型。可以是单个模型,也可以是多个模型的列表
  2. log:要记录的指标。可以是 “gradients”、“parameters”、“all” 或 None, 默认值为 “gradients”
  3. log_freq:记录指标的频率,默认值为 1000
  4. log_graph:是否记录模型的图形,默认为 “False”
    在这里插入图片描述
    在这里插入图片描述

参考

参考了b站大佬enzo做的笔记

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐