[特殊字符] 别再让实验记录一团乱麻!Weights & Biases (wandb) 拯救你的机器学习混乱日常

使用wandb/tensorboard管理、可视化卷积神经网络训练日志 wandb、tensorboard、torchSummary等工具使用笔记 阅读详情

搞机器学习的小伙伴们,举起你们的双手!是不是经常遇到这种抓狂瞬间:

  1. “卧槽!上周跑的那个效果最好的模型,超参数我到底调了啥来着?!” 🤯
  2. “昨天跑的模型A和今天跑的模型B,这个图…到底哪个线是哪个?救命!” 👀
  3. “老板/导师/队友问我实验结果对比…等等!我得翻十几个日志文件!” 📁
  4. “本地跑的还行,怎么一上服务器/换台机器就扑街了?环境差哪了?” 💻
  5. “这个项目做到哪了?上次谁改的代码?实验结论是啥?” (团队协作的噩梦)

如果你疯狂点头(或者内心在咆哮),那么恭喜!你绝对需要一个像 Weights & Biases (简称 wandb) 这样的神器来终结这场实验记录的灾难片!🎉 它不是什么破解工具(纯纯的开源好物!),而是机器学习实验追踪、可视化和协作的终极管家。

🔍 Wandb 到底是个啥?为啥这么香?

简单粗暴地说,wandb 就是专门为 ML/DL 研究者、工程师量身定做的实验记录仪 + 可视化面板 + 协作平台。它把你的实验从混乱的本地日志、分散的截图、遗忘的电子表格里解放出来,集中到一个统一、直观、可搜索、可对比、可协作的云端空间(当然也支持本地部署!)。

想象一下:

  • 每次运行代码,关键信息(代码版本、超参数、指标、日志、输出文件、甚至系统资源消耗)自动上传到一个漂亮的网页界面。
  • 所有实验整齐排列,一眼就能看清谁好谁坏。
  • 不同实验的图表(Loss曲线、Accuracy、预测图…)叠在一起对比,效果差异瞬间明了。
  • 团队成员轻松共享实验链接,评论、标记、一起分析,告别信息孤岛。
  • 环境依赖(Python包版本)自动记录,复现问题轻松定位环境差异!

是不是感觉呼吸都顺畅了?😌

🛠️ 手把手!Wandb 核心功能超简单上手

💻 1. 准备工作 & 安装(简单到哭)
  1. 注册账号: 先去官网注册个免费账户(对,免费版功能就超强大了!)。
  2. 安装库: 在你的 Python 环境里,一条命令搞定:
    pip install wandb
    
  3. 登录认证: 在命令行跑一下:
    wandb login
    
    按提示复制粘贴 API key 就 OK!(超级重要)第一次记得做这步!
🚀 2. 初始化 & 追踪你的第一次实验!

在你的 Python 训练脚本开头加点"魔法":

import wandb

# 初始化一个 run(代表一次实验)
wandb.init(
    project="my-awesome-project",  # 项目名,会自动创建或加入
    name="experiment-1-adam-lr0.001",  # 给这次实验起个响亮的名字!
    config={  # 记录所有重要的超参数配置!(超级重要)
        "learning_rate": 0.001,
        "batch_size": 32,
        "epochs": 100,
        "optimizer": "adam",
        "model_arch": "resnet18"
    }
)

# ... 你的模型定义、数据加载代码 ...
  • wandb.init(): 这是核心!它启动追踪,创建一个 “run” 对象。每个 run 就是你的一次实验(一次训练、一次评估)。
  • project: 项目名。把相关实验都归到一个项目下,清晰无比。
  • name: 这次实验的名字。起得描述性强点! 别用exp123,用类似resnet50_adam_lr1e-4_bs64这种,以后好找。
  • config: (超级无敌重要) 用一个字典记录这次实验的所有关键配置:学习率、批次大小、层数、优化器、数据集路径… 任何可能影响结果的东西!wandb 会帮你存得妥妥的,还能用来筛选和分组实验。
📊 3. 记录指标 & 日志(训练过程全掌握)

在训练循环里,你需要告诉 wandb 你的损失、准确率这些关键指标的变化:

# 假设在一个 epoch 循环里
for epoch in range(config['epochs']):
    # ... 训练步骤 ...
    train_loss = ...  # 计算训练损失
    train_acc = ...   # 计算训练准确率
    val_loss = ...    # 计算验证损失
    val_acc = ...     # 计算验证准确率

    # 📌 关键一步:记录指标到 wandb!
    wandb.log({
        "epoch": epoch,
        "train_loss": train_loss,
        "train_acc": train_acc,
        "val_loss": val_loss,
        "val_acc": val_acc
    })

    # 还可以记录其他东西,比如学习率(如果动态变化)
    current_lr = optimizer.param_groups[0]['lr']
    wandb.log({"learning_rate": current_lr}, step=epoch)

    # ... 可能还保存了一些预测图片 ...
    # wandb.log({"val_predictions": [wandb.Image(image, caption=cap) for ...]}, step=epoch)
  • wandb.log(dictionary): 核心记录函数! 把一个字典传给它,字典的键值对就是你想要记录的指标或数据。通常在每个 epoch 结束时调用。
  • step: 通常用 epoch 作为 step 参数,表示这是第几个步骤/epoch 的数据。wandb 会自动根据 step 生成漂亮的时间序列图表。
  • 能 log 啥? 数字指标、图片、文本、表格、甚至音频、3D模型!超灵活!
👀 4. 神奇可视化!自动生成酷炫 Dashboard

最爽的部分来了! 你不需要写任何额外的绘图代码!只要上面两步你做了(init + log),打开 wandb 网页后台(或命令行 wandb open):

  1. 进入你的项目 (my-awesome-project)。
  2. 找到你刚跑的实验 (experiment-1-adam-lr0.001)。
  3. BOOM!✨ 一个自动生成的 Dashboard 已经等你了!

你会看到:

  • 系统资源监控: CPU/GPU 使用率、内存、温度… 性能瓶颈?资源泄漏?一目了然!
  • 指标曲线图: train_loss, val_acc… 所有你用 wandb.log 记录的数字指标,自动生成可交互的图表!平滑、缩放、拖拽,想怎么看就怎么看。
  • 配置面板: 你记录的 config 字典,整整齐齐展示在那里。
  • 控制台输出: 你代码里打印的日志 (stdout/stderr) 也会被抓取显示!(再也不用狂翻终端了)
  • 文件选项卡: 自动记录模型文件、输出文件、代码快照(后面讲)等等。
🔍 5. 对比实验!找出真正有效的方案

单独看一个实验意义不大。wandb 的威力在于批量管理和对比:

  1. 稍微改点代码(比如换优化器为 sgd,调大学习率),再跑一次。记得 init 时改 name 为 experiment-2-sgd-lr0.01。
  2. 跑完回到 wandb 项目主页 (my-awesome-project)。
  3. 你会看到 experiment-1 和 experiment-2 并排躺着。
  4. 选中多个 Run! 在项目页面勾选你想比较的 experiment。
  5. 点击 ‘Compare’ 按钮!
  6. 见证奇迹的时刻!🪄 所有关键指标(loss, acc)的曲线会叠在同一张图上!配置差异(学习率、优化器)也会并列显示!哪个模型收敛更快?哪个验证精度更高?高下立判!(再也不用开 N 个 matplotlib 窗口对齐坐标轴了!)
🧾 6. 代码快照 & 依赖记录(复现性救星!)

实验可复现性是科研和工程的命根子! wandb 帮你锁死它:

  • 自动代码快照: 默认情况下,wandb.init() 会自动扫描并保存你当前目录下的所有代码文件 (.py, .ipynb, .yaml 等) 到云端。跑完实验回头看,点开文件就能看到当时训练使用的精确代码版本!再也不用担心代码改乱了找不到之前的版本。(当然,用 Git 是基础,wandb 是多加一层保险和便捷查看)
  • 自动环境依赖: wandb 会记录你运行环境的详细信息,特别是通过 pip freeze 或 conda list 生成的 Python 包列表。环境冲突?包版本不一致?轻松对比找出元凶!
👥 7. 团队协作:告别实验信息黑洞
  • 分享项目链接: 把你的 wandb 项目链接直接甩给队友/导师。
  • 权限设置: 可以设置项目为公开、团队可见或私有。
  • 评论标记: 在特定的 Run 图表上添加评论、标记重点区域,进行讨论。“看这里,模型在第 20 epoch 过拟合了!”
  • 统一信息源: 所有实验记录、分析、讨论都集中在 wandb 项目里,彻底告别"xx实验记录.xlsx"、“最终模型性能.png”、"v23_final_final.ipynb"满天飞的局面。

💡 个人体验 & 血泪教训(掏心窝子的话)

  • "早用早享受"是真的! 我刚开始觉得"手动记记日志也行吧",结果项目稍微一大,模型一多,参数组合一复杂,立马抓瞎。wandb 上手后,简直像打开了新世界的大门,效率提升不是一点半点。
  • 命名规范太重要了! 刚开始偷懒 exp1, exp2, try_new_idea… 结果几天后回来,看着一堆 Run 一脸懵。现在养成了好习惯:model_optim_lr_bs_date_description 模式,例如 vit_tiny_adamw_lr5e5_bs256_20240515_finetune。
  • config 字典要完整! 别只记录学习率批次大小,模型结构的关键参数(层数、维度)、数据增强策略、损失函数权重… 任何你觉得可能影响结果的,都扔进去!筛选实验时你会感谢自己的。
  • wandb.log 别太频繁! 每个 step 都 log(比如每个batch)会让你的图表密密麻麻看不清,也可能拖慢速度(虽然wandb很高效)。通常每个 epoch 结束时 log 一次就够了。当然,调试初期可以 log 密一点发现问题。
  • Dashboard 是活的! 别只被动看自动生成的图。wandb 的图表编辑器很强!你可以创建自定义图表、添加注释、组合不同指标、调整坐标轴、添加参考线… 把你的分析思路可视化出来!
  • 免费配额够用吗? 个人和小团队用免费版完全足够了!限制主要在存储空间和运行时长监控。付费版主要是给大型团队和企业提供更多资源、安全性和高级功能。开源项目还有特别优惠!

🎯 总结:为什么 wandb 是 MLer 不可或缺的工具?

  1. 告别混乱: 实验记录结构化、中心化、持久化。
  2. 洞察力飞跃: 自动化可视化 + 强大对比工具,一眼看清模型表现和差异。
  3. 复现性保障: 代码快照 + 环境依赖锁定,让实验可追溯、可重现。
  4. 协作无间: 团队成员共享信息、讨论结果,打破沟通壁垒。
  5. 效率飙升: 省去大量手动整理日志、画图、对齐实验的时间。
  6. 免费开源: 低成本甚至零成本获得强大功能(企业级需求除外)。

还在等什么?别再让宝贵的实验淹没在混乱中了! 花 10 分钟按照上面的步骤试试 wandb,下次训练模型时加上那几行简单的代码。下次当你轻松对比十几个实验、一键分享成果给队友、或者三个月后完美复现当时的结果时,你一定会回来感谢我这个建议的!🙏

去官网注册,pip install wandb,然后 wandb login,开启你高效、清晰、协作愉快的机器学习实验之旅吧!Let’s wandb! 🪄✨

可视化模块(三): wandb 本文目录wandb安装loss曲线记录1. step记录2. custom x-axis方法一(推荐)方法二Image记录1. 单张Image2. 多张Image方法一(推荐)方法二 wandb是一个可视化库,他有visdom实时查看的优点以及能够永久的记录到云端 wandb安装 登陆https://wandb.ai注册一个wandb账号,然后运行下面命令安装wandb。使用时在终端输入wandb login按照提示输入即可 pip install wandb 使用手册 对于PyTorch:Quick 阅读详情

相关推荐

大模型与扩散模型实战指南:从原理到微调部署的完整路径

在人工智能领域,大语言模型和扩散模型已成为核心技术。理解其工作原理,如Transformer的自注意力机制和扩散模型的前向加噪与反向去噪过程,是掌握其应用的基础。这些模型通过预训练学习海量数据中的模式,具备强大的生成与理解能力,其技术价值在于能够高效处理自然语言和图像生成任务。在实际应用场景中,开发者常需通过微调使通用模型适配特定业务需求,例如使用LoRA进行参数高效微调,以有限资源实现模型定制。本文基于实战经验,系统梳理了从环境搭建、核心原理理解到模型微调与部署的完整流程,并针对常见问题提供了解决方案,旨

weixin_34392435的博客 419

wandb.log()的异常

wandb使用注意

qq_42363777的博客 2390

wandb: 深度学习轻量级可视化工具入门教程

本文,就来给大家介绍一款新型的机器学习可视化工具,能够让人工智能研发过程变得更加简单明了。 wandb: 深度学习轻量级可视化工具入门教程引言wandb验证数据可视化自然语言重要工具极简教程1 安装库2 创建账户3 初始化4 声明超参数5 记录日志6 保存文件参考文献 引言 人工智能方向的项目,和数据可视化是紧密相连的。 模型训练过程中梯度下降过程是什么样的?损失函数的走向如何?训练模型的准确度怎么变化的? 清楚这些数据,对我们模型的优化至关重要。 由于人工智能项目往往伴随着巨大数据量,用肉眼去逐个数据.

紫芝的博客 8万+

Wandb是啥,怎么用

使用Wandb非常简单,首先需要安装Wandb的Python包,可以通过pip或conda来安装。安装完成后,需要在Python脚本中导入wandb库,登录Wandb,创建一个项目并设置实验。在实验中,可以记录各种指标、超参数、模型权重等,并进行可视化分析。最后,可以将实验的结果保存在Wandb的云端,并与团队成员共享。在Wandb的网站上,我们可以看到实验的结果,并进行可视化分析。接下来,在训练循环中,我们记录了训练损失和准确率,然后通过调用。除此之外,还包含了训练代码中写入的所有文件和模型的权重。

Fan0920的专栏 7239

wandb安装与使用 —— 用于跟踪、可视化和协作机器学习实验的工具

wandb(Weights&Biases, W&B):用于跟踪、可视化和协作机器学习实验的工具,支持在线和离线。它提供了一个简单的 Python API,可以轻松地将实验数据发送到云端,并通过 Web 应用程序进行访问和可视化。

📷 图像处理践行者 | 传统算法 · 深度学习 · 多模态 | 分享实战经验与技术洞见,探索从像素到智能的无限可能。 5万+

从C到汇编:单片机汇编语言核心概念迁移指南

本文详细介绍了从C语言迁移到单片机汇编语言的核心概念与实践指南,特别适合嵌入式开发者。文章深入探讨了汇编语言在性能优化、时序控制等方面的独特优势,并提供了变量存储、函数实现、流程控制等关键概念的对应关系,帮助开发者高效掌握汇编编程技巧。

weixin_31887307的博客 346

2023机器学习工具链避坑指南:生产就绪度与开发者体验实战

机器学习工具链是连接算法研发与工程落地的关键枢纽,其核心在于环境可复现性、错误提示友好性与CI/CD深度集成能力。随着模型即服务(MaaS)成为主流,工具选型已从‘是否支持分布式’转向‘能否在凌晨两点快速定位特征偏移或模型漂移’。Python生态兼容性与MLOps集成能力决定交付效率——例如ONNX Runtime与Hugging Face协同可实现推理加速2.3倍,而Scikit-learn凭借稳定序列化和监管级可解释性,仍是金融风控等高合规场景的基石。本文基于217次模型迭代与43次CI故障的真实数据,

bangtuo9862的博客 301

树莓派5安装ROS1避坑指南:从系统配置到cmake报错全解决

本文详细介绍了在树莓派5上安装ROS1的完整流程,包括系统配置、环境变量设置、cmake报错解决等关键步骤。针对树莓派5的ARM架构特性,提供了从基础安装到高级调试的系统级解决方案,帮助开发者高效部署ROS1并避免常见编译陷阱。特别针对cmake报错问题,给出了深度解析和实用修复方法。

spark7igniter的博客 233

LLM后训练实战:数据管理与环境配置全流程解析

大语言模型(LLM)的微调与优化是AI工程实践中的核心环节,其本质是通过特定数据对预训练模型进行适应性调整,以提升其在垂直任务上的性能。这一过程涉及指令微调(Instruction Tuning)、有监督微调(SFT)等关键技术,其成功与否高度依赖于高质量的数据准备与稳定的训练环境。在工程实践中,数据质量低下、格式不一致以及环境依赖冲突、训练不可复现等问题,是导致模型效果不佳甚至失败的常见痛点。因此,构建一套系统化的数据管理流水线,涵盖从收集、清洗、格式化到版本控制的完整流程,并搭建一个可复现、可监控的训练

weixin_34353714的博客 400

基于单片机红外线遥控Proteus仿真电路发射接收

*单片机设计介绍,基于单片机红外线遥控Proteus仿真电路发射接收。

2201_75940997的博客 3943

【学习笔记】人群归因分数 PAF 以及combined PAF

人群归因风险比例(Population Attributable Fraction,PAF)是一个流行病学指标,它估计了在总体中,如果能消除一个特定的危险因素,能预防多少百分比的疾病或健康结果。简单来说,PAF回答的是:“如果没有这个风险因素,总体中会有多少病例是可以避免的?

weixin_53499537的博客 4901

wandb快速入门使用教程

本文旨在简单介绍wandb在卷积神经网络训练过程中的一些基础设置,可以快速入门并使用wandb记录自己的训练日志,方便后续的实验复现。

weixin_42855362的博客 2万+

使用VScode编译AMI代码

我现在了解到的和拿到的code,都是基于AMI的code,一般的编译AMI都需要搭配使用AMI的编译环境Veb,而Veb用到现在,一直都觉得有点卡顿,浏览代码的体验也比VScode差很多。在这之前还要,考虑设置TOOLS_DIR和EWKE_DIR的环境变量,因为在Veb中是可以通过设置自动设置的,但是VScode里面没用设置环境变量的选项。这里可以看出,Veb工具栏中的Build和Rebuild All的命令对应这里的make和make rebuild,也就是说Veb是调用此命令进行编译的。

Dodijd的博客 1881

wandb使用方法以及具体设置

wandb是什么 wandb是Weight & Bias的缩写,这是一个与Tensorboard类似的参数可视化平台。不过,相比较TensorBoard而言,Wandb更加的强大,主要体现在以下的几个方面: 复现模型:Wandb更有利于复现模型。 这是因为Wandb不仅记录指标,还会记录超参数和代码版本。 自动上传云端: 如果你把项目交给同事或者要去度假,Wandb可以让你便捷地查看你制作的所有模型,你就不必花费大量时间来重新运行旧实验。 快速、灵活的集...

weixin_43164054的博客 7万+

如何免费快速的部署一个自用免VIP的自动追剧工具!NAS新玩法!豆瓣与迅雷结合,轻松实现自动下载电影自动追剧功能(支持Windows,群晖nas,飞牛nas,软路由,服务器等Docker快速部署)

追剧党狂喜!豆瓣追剧神器,自动添加云盘,自动下载,微信通知,一键搞定!

XiaoqiangClub的博客 4583

piamon实战-- 如何使用 Paimon 的 Java API 实现数据的点查

点查(Point Lookup)是指通过 ​​唯一键(Primary Key)​​ 快速定位并返回单条或少量数据的查询模式。例如:根据用户 ID 查询用户信息、根据订单号查询订单详情等。点查的核心诉求是 ​​低延迟​​ 和 ​​高吞吐​​,适用于实时风控、在线分析等场景。​​定义主键表结构​​,优化数据分布。​​构建过滤条件​​,使用指定查询键。​​执行查询并处理结果​​,结合流式更新实现实时查询。

阿华田的博客 532

Wandb使用指南(教程)

然后image要通过一步wandb.Image(image)转换才可以存储。在terminal中操作查看你的API key并粘贴回车进行授权(运行代码后,会出现日志,直接点击本次运行结果的连接即可。wandb.log()记录这些值。

Drug discovery 6917

遥感图像地物覆盖分类,数据集制作-分类模型对比-分类保姆级教程

1.新建shp文件地理坐标系保持和影像一致,面类型2.打开属性表3.添加字段这里分类6类,点击添加值添加添加完毕开始人工选地物类型,制作数据集开始标注,标注的时候可以借助谷歌地图来看标记足够多的样本打开面转栅格工具设置nodata值为15。

热爱分享,热爱记录 2526

wandb----基础使用和断点训练时让曲线接上(resume)

学习记录

混吃等死,偶尔搞点好玩的 6740

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

目标检测学习笔记——使用wandb

一、windows使用 1、首先pip install wandb 2、然后在官网注册获取key 3、 import wandb wandb.login(key='400fa74e3697eb0beff75f5ab1d0ab73954540c7') 二、linux使用 1、sudo pip3 install wandb 2、然后在官网注册获取key 3、 cd /usr/local/bin/ wandb login # 输入key ...

phily123的博客 3745

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【Python】科研代码学习:十四 wandb (可视化AI工具)

【wandb官网】wandb是的缩写(w and b)核心作用:可视化重要参数云端存储提供各种工具可以和其他工具配合使用,比如下面的等等可以在里面使用matplotlib貌似是的上位替代。

溢流眼泪的博客 3082

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

深度学习之wandb的基本使用

在深度学习训练网络的过程中,由于网络训练过程时间长,不可能一直关注训练中的每一轮结果,因此我们需要将训练过程中的结果可视化,留作后续的查看,从而确定训练过程是否出错。因此,我们需要使用到可视化工具,常用的几种可视化工具有:`wandb`(在线可视化)、`tensorboard`、这里主要介绍`wandb`的基本使用,`tensorboard` 的使用可参考我的另一篇博客 [Tensorboard 的详细使用](https://blog.csdn.net/L28298129/article/details/1

执笔画红颜丶的博客 1万+

Wandb:深度神经网络可视化工具介绍及本地部署方式

Wandb:深度神经网络可视化工具介绍及本地部署方式

发呆的比目鱼的博客 2678

wandb的基本使用

深度学习模型的可视化工具

2302_81891803的博客 4456

wandb教程

111111111111111

qq_42454156的博客 711

实验数据可视化工具wandb教程(持续更新ing...)

wandb

帆的博客 1138
下一篇: Containerd:容器宇宙里那个默默扛事的老黄牛(但你真该认识它了!)
普通网友
博客等级 码龄1年 18粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值