首页 > 其他分享 >CV工具:可视化工具wandb(一)实验跟踪 Experiment Tracking

CV工具:可视化工具wandb(一)实验跟踪 Experiment Tracking

时间:2022-11-24 21:36:13浏览次数:61  
标签:wandb Tracking log 记录 模型 工具 config 代码

实时追踪和可视化实验、比较baseline和快速迭代。参考自:https://docs.wandb.ai/guides/track

1. 在代码中集成W&B

  1. wandb.init():在代码的最开始初始化一次新的运行。此代码会返回一个Run对象,然后会创建一个本地的目录,这个目录里面存放所有的日志和文件,然后会异步地传输到W&B的服务器上。如果想要使用一个私有的服务器,也可以使用Self-Hosting
  2. wandb.config: 保存一个超参数的字典。在config中保存的模型设置对后面的组织和查询结果有用。
  3. wandb.log(): 将一个训练循环中的参数记录在日志里。默认情况下,当你调用此行代码时,它会在history对象中追加一个新的step,然后更新summary对象
    • history: 是一个类似字典的数组,它追踪模型参数和指标随时间的变化。时间序列的值默认情况下是以图表形式展示的
    • summary: 默认情况下,使用wandb.log()记录的衡量指标的最后一个值。可以通过手动设置让它记录最高或者最低的指标。
  4. wandb.log_artifact: 保存一次运行中的输出,例如模型的权重或者预测的结果。这可以让你不仅仅追踪模型的训练,而且还追踪所有的对最后模型有影响的流水线步骤。

2. Best Practices

一些指导方针:

  1. Config: 用于记录超参数、架构、数据集以及任何你想用来复现模型的东西。这些会在column中展示出来,可以使用config columns来分组、排序或者是在app中动态过滤运行。
  2. Project:一个project是一个实验的集合,你可以对其中的实验进行比较。每个project有一个专用的仪表盘页面,你可以很容易地开启或者关闭运行组(group of runs),以此来比较不同的模型版本
  3. Notes: 一个快速提交给自己的消息,这个可以在代码中设置以及在表格(table)中编辑
  4. Tags: 查找(indentify)baseline和最喜欢的运行(runs)。可以通过tags来过滤
import wandb

config = dict (
  learning_rate = 0.01,
  momentum = 0.2,
  architecture = "CNN",
  dataset_id = "peds-0192",
  infra = "AWS",
)

wandb.init(
  project="detect-pedestrians",
  notes="tweak baseline",
  tags=["baseline", "paper1"],
  config=config,
)

3. 什么数据被记录到日志里?

3.1 自动记录的

  • 系统指标: CPU\GPU\网络等情况。显示在run页面的system标签下。对于GPU来说,这些记录的参数可以通过nvidia-smi获取。
  • 命令行: run页面的logs标签下记录了标准输出及标准错误输出的内容。

3.2 需要通过特定代码调用记录的

  • Dataset: 可以指定以及特定的数据集样本然后上传到W$B
  • PyTorch 梯度信息: 在代码中添加wandb.watch(model)来查看权重梯度的直方图信息。
  • 配置信息:记录超参、指向数据集的链接或者你正在使用的架构的名称,像这样使用:wandb.init(config=your_config_dictionary)
  • Merics指标: 使用wandb.log来查看模型的指标。会实时更新。

标签:wandb,Tracking,log,记录,模型,工具,config,代码
From: https://www.cnblogs.com/x-ocean/p/16923512.html

相关文章

  • 钢笔工具绘制形状2
    第一步,先用圆角矩形绘制一个矩形,参数如图,第二步,使用布尔运算-减去顶层形状,第三步,选择矩形工具绘制一条白色矩形,然后向下复制一个第四步,在复制一个矩形,CTRL+T进行缩小......
  • 管理node版本工具 n
    安装sudonpmi-gn查看本地使用n安装的node版本nls查看本地所有node版本nls-remotelts查看远程最近20个版本nls-remote查看全部版本nls-remote-......
  • 钢笔工具图形绘制1
    第一步,选择圆角矩形工具,绘制一个圆角矩形,并调整参数第二步,用钢笔工具在圆角形状添加三个锚点,然后按住ctrl进行拖动锚点。第三步,用钢笔工具绘制直线,在复制一条,调整长度,......
  • 时间序列 工具库学习(18)adtk模块-异常类型
    1.异常类型异常是一个广义的概念,它可以指代时间序列中许多不同类型的事件。根据具体情况,价值飙升、波动性转变、违反季节性模式等都可能是异常的或正常的。ADTK提供了一组......
  • 文件处理工具类-来自若依
    packagecom.ruoyi.common.utils.file;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importja......
  • springboot+vue+element-ui实现文件上传前后台代码+文件上传后台工具类
    //新增模板接口@PreAuthorize("@ss.hasPermi('pshdhx:template:add')")@Log(title="template",businessType=BusinessType.INSERT)@PostMapping("add")@ResponseBodypublic......
  • 关于平台工程的开发者工具链,你还想加点啥?
    作者:纳海、孤弋​前言从Kubernetes诞生以来,以DevOps、容器化、可观测、微服务、Serverless等技术为代表的云原生,催生了应用架构新一轮的升级。有意思的是,与以往的技术......
  • 网络性能评估工具Iperf详解
     一、网络性能评估工具Iperf网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保证网络性能的基础,但是由于网络设计不合理、网络存在安全漏洞等原因,都会导......
  • 截图工具(窗体永远前置)
    这是截完图之后可以显示并且永远前置的截图小工具(即不会被其他程序覆盖):##-*-coding:utf-8-*-importtkinterastkimportpyautoguiimporttkinterfromPILimp......
  • java工具类-发送邮件工具类
    1.普通java实现邮件发送1.1创建maven项目,配置pom.xml文件<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xm......