Server - WandB 统计运行 Epoch 以及 手动上传日志

欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/132227253

WandB

WandB (Weights & Biases) 是在线的模型训练可视化工具,可以帮助跟踪机器学习项目,记录运行中的超参数和输出指标,可视化结果并共享结果,支持多种深度学习框架,如 PyTorch、TensorFlow、Keras 等,也可以与 AWS、GCP、Kubernetes、Azure等云平台配合使用。

WandB:https://wandb.ai/,注册即可使用。

统计已运行 epoch 数量,预估训练时间,查看 WandB,支持选择 epoch 或 step 或 trainer/global_step 等维度进行查看。

Img

1. 时间计算

例如,运行时间 26h:

kubectl get podstrain-20230808-worker-0   1/1     Running   0          26h
train-20230808-worker-1   1/1     Running   0          26h

单步 step 运行时间,10 个 step,耗时1 min 20 s80s / 10 = 8s,即 8 s/step 计算:

[1,1]<stderr>:2023-08-10 03:30:58,157 INFO 40 [train_openfold.py:206] step=11450
[1,0]<stderr>:2023-08-10 03:30:58,191 INFO 40 [train_openfold.py:206] step=11450
[1,0]<stderr>:2023-08-10 03:32:18,548 INFO 40 [train_openfold.py:206] step=11460
[1,1]<stderr>:2023-08-10 03:32:18,708 INFO 40 [train_openfold.py:206] step=11460

每个 epoch 需要训练 train_epoch_len=5000 个 step,2 个并行,即每个 epoch 耗时:

(5000 / 2) * 8 = 20000s
20000s / 3600s = 5.5h

那么累计运行,约 26h / 5.5h = 4.7 epoch,约 4~5 个 epoch 点,符合预期,即:

epoch

2. 步数计算

累计运行 step 是 11460 步,2卡并行合计,即:

11460 * 2 = 22920

每 5000 步是 1个 epoch,则绘制的点数是 4 个点,即:

22920 / 5000 = 4.5

3. WandB 配置

在日志中,查看 WandB 配置:

cat train_20230808.log | grep wandb

配置 WandB 在线,命令如下:

wandb online
# key 来自于官网注册
wandb login --relogin --cloud [your key]

信息中包括 2 个日志,同时进行缓存,1个是机器信息,1个是训练信息,即:

[1,0]<stderr>:wandb: Tracking run with wandb version 0.12.21
[1,0]<stderr>:wandb: Run data is saved locally in wandb/run-20230809_012556-2007pb1b
[1,0]<stderr>:wandb: Run `wandb offline` to turn off syncing.
[1,0]<stderr>:wandb: Syncing run dandy-pine-11
[1,0]<stderr>:wandb: ⭐️ View project at https://wandb.ai/[project]
[1,0]<stderr>:wandb: 🚀 View run at https://wandb.ai/[project]/runs/2007pb1b

4. 手动上传日志

遇到网络异常,即显示:

[1,0]<stderr>:wandb: Network error (ConnectTimeout), entering retry loop.
[1,1]<stderr>:wandb: Network error (ReadTimeout), entering retry loop.

则需要手动上传日志,找到日志中的 saved 地址,使用 sync 命令,同步日志,即:

[1,0]<stderr>:wandb: Run data is saved locally in wandb/run-20230809_012556-2007pb1bwandb sync wandb/run-20230809_012556-2007pb1b

日志访问路径,即:

[1,0]<stderr>:wandb: 🚀 View run at https://wandb.ai/[project]/runs/2007pb1b

再刷新网页,即可显示。

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

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

相关文章

linux shell快速入门

linux shell快速入门 0 、前置1、简单使用 0 、前置 一安装linux的虚拟环境 1、简单使用 1、新建/usr/shell目录 2、新建hello.sh 文件 3、编写脚本文件# !/bin/bashecho "hello world"查看是否具备执行权限 新增执行权限 chomd x hello.sh执行hello.sh文件 /b…

限制编辑下的PDF可以转换其他格式吗?这2个方法可行

我们知道&#xff0c;PDF可以通过设置“限制编辑”来保护文件不被随意更改&#xff0c;那PDF设置了“限制编辑”还可以转换其他格式吗&#xff1f; 如果PDF设置的是禁止任何更改的“限制编辑”&#xff0c;那PDF菜单【转换】界面下的格式选项就会呈现灰色状态&#xff0c;无法…

vscode的配置和使用

1.侧边栏调整大小 放大&#xff1a;View -> Appearance -> Zoom in&#xff08;快捷键Ctrl &#xff09; 缩小&#xff1a;View -> Appearance -> Zoom out&#xff08;快捷键Ctrl -&#xff09; 侧边栏字体调整到合适大小后&#xff0c;可以按下一步调整代码区…

【java】Java与SQLite3数据库类型之间对应关系

引 在开发应用程序时&#xff0c;经常需要将数据存储到数据库中。SQLite3 是一种轻量级的嵌入式数据库&#xff0c;广泛应用于移动设备和嵌入式系统。在使用 SQLite3 数据库时&#xff0c;了解 Java 数据类型与 SQLite3 数据库类型之间的对应关系非常重要&#xff0c;以便正确…

一盏茶的时间,带你轻松上手Pinia

&#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 &#x1f4da; 前言 &#x1f4d8; 创建 Pinia &#x1f4d8; Option Store &#x1f4d8; Pinia 提供多种选项配…

k8s pod启动报错: no route to host

k8s pod kuboard启动报错 查看pod命令 kubectl get pods -A kubectl get pods --all-namespaces查看报错pod日志 命令&#xff1a; kubectl logs -f -n namespace nametime"2023-08-09T13:40:3608:00" levelerror msg"不能获取 AgentEndpointsGet \"http:/…

在 Linux 中使用 systemd 注册服务

Systemd 是一种现代的 Linux 系统初始化系统和服务管理器。它旨在管理系统服务的初始化、配置和控制。Systemd 的一个关键特性是它可以管理服务&#xff0c;这些服务是为系统提供特定功能的后台进程。在本指南中&#xff0c;我们将探讨如何使用 systemd 在 Linux 中注册服务。 …

【算法基础20-单调栈】

算法原理: 用单调递增栈&#xff0c;当该元素可以入栈的时候&#xff0c;栈顶元素就是它左侧第一个比它小的元素。 以&#xff1a;3 4 2 7 5 为例&#xff0c;过程如下&#xff1a; 动态模拟过程 题目&#xff1a; 给定一个长度为 N 的整数数列&#xff0c;输出每个数左边第一…

Linux 基础(九)软件包管理

软件包管理 概念软件包管理工具Red Hat 系RPMrpm安装rpm卸载 YUM&#xff08;推荐&#xff09;源仓库管理常见国内 yum 源更换源&#xff08;非必须&#xff0c;除非下载速度确实过慢&#xff09; YUM管理软件 Debian 系源仓库管理常见国内 apt 源更换源&#xff08;非必须&…

postman入门基础 —— 接口测试流程

一、编写接口测试计划 接口测试计划和功能测试计划目标一致&#xff0c;都是为了确认需求、确定测试环境、确定测试方法&#xff0c;为设计测试用例做准备&#xff0c;初步制定接口测试进度方案。一般来说&#xff0c;接口测试计划包括概述、测试资源、测试功能、测试重点、测试…

Flutter 报错 Could not create task ‘xxx‘.this and base files have different roots

遇到此问题也是先去百度了&#xff0c;有的说改了Gradle版本、gradle-wrapper.properties版本和ext.kotlin_version版本之后解决的&#xff0c;我没尝试&#xff0c;我用蹩脚的英语大致读了一下就不是这样说的&#xff0c;况且我用有道翻译了也不是这个意思啊&#xff0c;我不知…

抖音小程序实现less语言编译样式

1.在抖音开发工具中搜索扩展less 2. 然后点击小齿轮选择扩展设置 3. 然后在扩展设置中选择在settings.json中编辑# 4. 在settings.json中加入以下这段代码即可 // Easy LESS配置"less.compile": {"compress": false,//是否压缩"sourceMap": fal…

前端性能优化:缓存

在快节奏的互联网时代&#xff0c;网站的加载速度直接影响用户体验和业务成功。而缓存作为性能优化的重要手段&#xff0c;可以大幅提升网页加载速度&#xff0c;减少服务器负担。本文将为你详解缓存的使用&#xff0c;帮助你优化前端性能&#xff0c;为用户呈现更快速、流畅的…

EndNote 21 for Mac(文献管理软件) v21.0.1中文版

EndNoter mac是一款参考文献管理软件&#xff0c;旨在帮助学术研究者、学生和专业人士有效地管理和引用参考文献。该软件提供了许多功能&#xff0c;使用户可以轻松地组织、搜索和引用各种类型的文献。 EndNoter mac软件特点和功能 1. 参考文献管理&#xff1a;EndNoter允许用…

提高 After Effects 效率的 40 个最佳快捷键

After Effects 是运动图形和视觉效果的强大工具&#xff0c;但它也可能让人不知所措。拥有如此多的特性和功能&#xff0c;很容易让人迷失在软件中。但是&#xff0c;有一种方法可以简化您的工作流程并提高工作效率 - 使用键盘快捷键。 After Effects素材文件巨大、占用电脑内…

探索自动化网页交互的魔力:学习 Selenium 之旅【超详细】

"在当今数字化的世界中&#xff0c;网页自动化已经成为了不可或缺的技能。想象一下&#xff0c;您可以通过编写代码&#xff0c;让浏览器自动执行各种操作&#xff0c;从点击按钮到填写表单&#xff0c;从网页抓取数据到进行自动化测试。学习 Selenium&#xff0c;这一功能…

Claude 2、ChatGPT、Google Bard优劣势比较

​Claude 2&#xff1a; 优势&#xff1a;Claude 2能够一次性处理多达10万个tokens&#xff08;约7.5万个单词&#xff09;。 tokens数量反映了模型可以处理的文本长度和上下文数量。tokens越多&#xff0c;模型理解语义的能力就越强&#xff09;。它在法律、数学和编码等多个…

一百五十二、Kettle——Kettle9.3.0本地连接Hive3.1.2(踩坑,亲测有效)

一、目的 由于先前使用的kettle8.2版本在Linux上安装后&#xff0c;创建共享资源库点击connect时页面为空&#xff0c;后来采用如下方法&#xff0c;在/opt/install/data-integration/ui/menubar.xul文件里添加如下代码 <menuitem id"file-openZiyuanku" label&…

layui的基本使用-日期控件的业务场景使用入门实战案例一

效果镇楼&#xff1b; 1 前端UI层面&#xff1b; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport&…

TypeScript教程(五)条件语句,循环,函数

一、条件语句 条件语句基于不同的条件来执行不同的动作 1.if语句&#xff1a;只有当指定条件为true时&#xff0c;使用该语句来执行代码 2.if...else语句&#xff1a;当条件为true时执行代码&#xff0c;当条件为else时执行其他代码 3.if...else if...else语句&#xff1a;…