可视化和跟踪机器学习实验的工具——Wandb

简介:用于可视化和跟踪机器学习实验的工具。Weights & Biases 是一个机器学习平台,供开发人员更快地构建更好的模型。使用 W&B 的轻量级、可互操作的工具快速跟踪实验、对数据集进行版本和迭代、评估模型性能、重现模型、可视化结果和发现回归,并与同事分享结果。

github:wandb/wandb:🔥用于可视化和跟踪机器学习实验的工具。此存储库包含 CLI 和 Python API。 (github.com)

官网:Weights & Biases For Academic Research (wandb.ai)

api&入门&教程:W&B Docs | Weights & Biases Documentation (wandb.ai)

什么是W&B?

Weights & Biases (W&B) 是 AI 开发者平台,提供用于训练模型、微调模型和利用基础模型的工具。

在 5 分钟内设置 W&B,然后快速迭代机器学习管道,确信您的模型和数据在可靠的记录系统中得到跟踪和版本控制。

此图概述了 W&B 产品之间的关系。

W&B 模型是一组轻量级、可互操作的工具,用于机器学习从业者训练和微调模型。

实验:机器学习实验跟踪
模型注册表:集中管理生产模型
启动:缩放和自动化工作负载
扫描:超参数调优和模型优化
W&B Prompts 用于调试和评估 LLM。

W&B平台是一组强大的核心构建块,用于跟踪和可视化数据和模型,并传达结果。

项目:版本资产和轨道沿袭
表:可视化和查询表格数据
报告:记录和协作处理您的发现
编织查询和创建数据可视化效果
您是W&B的新用户吗?

 演示视频:Weights & Biases End-to-End Demo (youtube.com)

使用以下资源开始探索 W&B:

简介笔记本:运行快速示例代码,在 5 分钟内跟踪实验
快速入门:阅读有关如何以及在何处将 W&B 添加到代码的快速概述
浏览我们的集成指南和我们的 W&B Easy Integration YouTube 播放列表,了解如何将 W&B 与您首选的机器学习框架集成。
查看 API 参考指南,了解有关 W&B Python 库、CLI 和 Weave 操作的技术规范。
W&B如何运作?
如果您是 W&B 的首次用户,我们建议您按以下顺序阅读以下部分:

了解 W&B 的基本计算单位 Runs。
使用实验创建和跟踪机器学习实验。
了解 W&B 灵活而轻量级的构建块,用于使用 Artifacts 进行数据集和模型版本控制。
自动执行超参数搜索,并使用扫描探索可能的模型空间。
使用模型管理管理从训练到生产的模型生命周期。
使用我们的数据可视化指南,可视化跨模型版本的预测。
组织 W&B 运行、嵌入和自动化可视化、描述您的发现,并使用报告与协作者共享更新。

快速入门

安装 W&B,并在几分钟内开始跟踪机器学习实验。

1. 创建一个帐户并安装 W&B

在开始之前,请确保创建一个帐户并安装 W&B:

  1. 在 https://wandb.ai/site 注册一个免费帐户,然后登录您的wandb帐户。
  2. 使用 pip 在 Python 3 环境中的计算机上安装 wandb 库。
    以下代码片段演示了如何使用 W&B CLI 和 Python 库安装和登录 W&B:

安装 CLI 和 Python 库以与权重和偏差 API 进行交互:

!pip install wandb
2. 登录 W&B

笔记本
接下来,导入 W&B Python SDK 并登录:

import wandbwandb.login()

出现提示时,请提供您的 API密钥。

3. 开始运行并跟踪超参数

使用 wandb.init() 在 Python 脚本或笔记本中初始化 W&B Run 对象,并使用超参数名称和值的键值对将字典传递给参数:config

run = wandb.init(# Set the project where this run will be loggedproject="my-awesome-project",# Track hyperparameters and run metadataconfig={"learning_rate": 0.01,"epochs": 10,},
)

运行是 W&B 的基本组成部分。您将经常使用它们来跟踪指标、创建日志、创建作业等。

把它们放在一起

综上所述,训练脚本可能类似于以下代码示例。突出显示的代码显示特定于 W&B 的代码。 请注意,我们添加了模拟机器学习训练的代码。

# train.py
import wandb
import random  # for demo scriptwandb.login()epochs = 10
lr = 0.01run = wandb.init(# Set the project where this run will be loggedproject="my-awesome-project",# Track hyperparameters and run metadataconfig={"learning_rate": lr,"epochs": epochs,},
)offset = random.random() / 5
print(f"lr: {lr}")# simulating a training run
for epoch in range(2, epochs):acc = 1 - 2**-epoch - random.random() / epoch - offsetloss = 2**-epoch + random.random() / epoch + offsetprint(f"epoch={epoch}, accuracy={acc}, loss={loss}")wandb.log({"accuracy": acc, "loss": loss})# run.log_code()

就是这样!导航到 W&B 应用程序, 查看 中我们使用 W&B 记录的指标(准确性和损失)在每个训练步骤中是如何改进的。

上图(单击展开)显示了每次运行上述脚本时跟踪的损失和准确性。创建的每个运行对象都显示在“运行”列中。每个运行名称都是随机生成的。

下一步是什么?

探索 W&B 生态系统的其余部分。

1.查看 W&B 集成,了解如何将 W&B 与您的 ML 框架(如 PyTorch)、ML 库(如 Hugging Face)或 ML 服务(如 SageMaker)集成。
2.使用 W&B 报告组织运行、嵌入和自动化可视化、描述您的发现并与协作者共享更新。
3.创建 W&B 项目,以跟踪机器学习管道每个步骤的数据集、模型、依赖项和结果。
4.使用 W&B Sweeps 自动执行超参数搜索并探索可能模型的空间。
5.了解数据集,可视化模型预测,并在中央仪表板中共享见解。

常见问题

在哪里可以找到我的 API 密钥?登录 www.wandb.ai 后,API 密钥将位于“授权”页面上。

如何在自动化环境中使用 W&B?如果您在运行 shell 命令(例如 Google 的 CloudML)不方便的自动化环境中训练模型,您应该查看我们的环境变量配置指南。

你们是否提供本地本地安装?是的,您可以在自己的计算机上或私有云中私有托管 W&B,请尝试使用此快速教程笔记本来了解如何操作。注意,要登录到wandb本地服务器,您可以将host标志设置为本地实例的地址。

如何暂时关闭 wandb 日志记录?如果正在测试代码并想要禁用 wandb 同步,请设置环境变量 WANDB_MODE=offline。

W&B 集成使在现有项目中设置实验跟踪和数据版本控制变得快速而简单。有关如何将 W&B 与您选择的框架集成的更多信息,请参阅《W&B 开发人员指南》中的“集成”一章。

🔥 PyTorch的

🌊 TensorFlow/Keras

🤗 拥抱脸变压器

⚡️ PyTorch 闪电

💨 XGBoo斯特

🧮 Sci-Kit 学习

W&B 托管选项

权重和偏见在云中可用或安装在您的私有基础设施上。通过以下三种方式之一在生产环境中设置 W&B 服务器:

  1. 生产云:使用 W&B 提供的 terraform 脚本,只需几个步骤即可在私有云上设置生产部署。
  2. 专用云:在您选择的云区域中,在 W&B 的单租户基础架构上进行托管的专用部署。
  3. 本地/裸机:W&B 支持在本地数据中心的大多数裸机服务器上设置生产服务器。通过运行快速开始,轻松开始在本地基础架构上托管 W&B。wandb server

有关详细信息,请参阅《W&B 开发人员指南》中的托管文档。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/474370.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微服务学习Day4

文章目录 初始MQ同步通讯和异步通讯MQ常见技术介绍 RabbitMQ快速入门入门案例 SpringAMQP介绍例子WorkQueue模型exchange交换机消息转换器 初始MQ 同步通讯和异步通讯 MQ常见技术介绍 RabbitMQ快速入门 入门案例 SpringAMQP 介绍 例子 WorkQueue模型 exchange交换机 消息转换…

【力扣hot100】刷题笔记Day5

前言 回学校了,荒废了半天之后打算奋发图强猛猛刷题,找实习!赚钱!! 560. 和为 K 的子数组 - 力扣(LeetCode) 前缀法 哈希表 这个题解解释比官方清晰,截个图方便看,另一…

算法刷题:将 x 减到 0 的最小操作数

将 x 减到 0 的最小操作数 .题目链接题目详情题目解析滑动窗口定义指针及其他变量进窗口判断出窗口更新结果 我的答案 . 题目链接 将 x 减到 0 的最小操作数 题目详情 题目解析 正面做这道题比较难,我们可以进行逆向思维 将这道题理解为: 求数组中,最长的子数组,且子数组中的…

【STM32 CubeMX】SPI_Flash_W25Q64的操作方法

文章目录 前言一、W25Q64操作方法基本概念1.1 读数据1.2 写使能1.3 读状态1.4 擦除扇区1.5 烧写页 总结 前言 在嵌入式系统开发中,使用外部 SPI Flash 存储器可以为 STM32 微控制器提供额外的存储空间,以存储程序代码、配置数据等。W25Q64 是一款常见的…

深入剖析跨域请求发送两次的原因及解决方案(上)

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

linux kernel 内存踩踏之KASAN_SW_TAGS(二)

一、背景 linux kernel 内存踩踏之KASAN(一)_kasan版本跟hasan版本区别-CSDN博客 上一篇简单介绍了标准版本的KASAN使用方法和实现,这里将介绍KASAN_SW_TAGS和KASAN_HW_TAGS 的使用和背后基本原理,下图是三种方式的对比&#x…

计算机设计大赛 深度学习中文汉字识别

文章目录 0 前言1 数据集合2 网络构建3 模型训练4 模型性能评估5 文字预测6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习中文汉字识别 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐&#xf…

RegExp正则表达式左限定右限定左右限定,预查询,预查寻,断言 : (?<= , (?= , (?<! , (?!

RegExp正则表达式左限定右限定左右限定,预查询,预查寻,断言 : (?< , (? , (?<! , (?! 有好多种称呼 (?< , (? , (?<! , (?! 有好多种称呼 , 我称为: 左限定, 右限定, 左否定, 右否定 (?<左限定)    (?右限定)(?<!左否定)    (?!右限定) 再…

人力资源智能化管理项目(day10:首页开发以及上线部署)

学习源码可以看我的个人前端学习笔记 (github.com):qdxzw/humanResourceIntelligentManagementProject 首页-基本结构和数字滚动 安装插件 npm i vue-count-to <template><div class"dashboard"><div class"container"><!-- 左侧内…

【JavaScript】面试手写题精讲之数组(下)

引入 这章主要讲的是数组的排序篇&#xff0c;我们知道面试的时候&#xff0c;数组的排序是经常出现的题目。所以这块还是有必要进行一下讲解的。笔者观察了下前端这块的常用算法排序题&#xff0c;大概可以分为如下 冒泡排–> 稳定排序插入排序–> 稳定排序选择排序–…

EasyRecovery软件免费版与付费版有哪些功能区别?

免费版的EasyRecovery软件在功能和恢复能力上确实存在一些限制。 首先&#xff0c;在数据恢复方面&#xff0c;免费版通常只能恢复最多1GB的数据。这意味着&#xff0c;如果你需要恢复的数据量超过1GB&#xff0c;你将需要升级到付费版才能完全恢复。 其次&#xff0c;免费版…

Packet content transfer stopped (received 8 bytes)

esp32烧录程序时报错&#xff1a;A fatal error occurred: Packet content transfer stopped (received 8 bytes) 解决方法&#xff1a; 降低上传速度&#xff0c;使用115200&#xff1b;更换flash模式&#xff0c;使用DIO方式重试如果还不行&#xff0c;检查flash连接情况&am…