news 2026/7/9 22:07:42

wandb报错并且AttributeError: ‘_thread.RLock‘ object has no attribute ‘_recursion_count‘

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
wandb报错并且AttributeError: ‘_thread.RLock‘ object has no attribute ‘_recursion_count‘

WandB 退出错误说明

错误信息

Exception ignored in atexit callback: <function _start_and_connect_service.<locals>.teardown_atexit> BrokenPipeError: [Errno 32] Broken pipe Exception ignored in: <function ResourceTracker.__del__ at 0x...> AttributeError: '_thread.RLock' object has no attribute '_recursion_count'

错误性质

这些是非关键错误(Non-critical errors),发生在程序正常退出时的清理过程中。

为什么会出现?

  1. 程序正常完成:训练已经成功完成,wandb 已经同步了所有数据
  2. 清理阶段问题:在程序退出时,wandb 和 multiprocess 尝试清理资源
  3. 异步操作冲突:退出时某些异步操作(如网络连接关闭)可能已经中断

错误分析

1. WandB BrokenPipeError

BrokenPipeError: [Errno 32] Broken pipe

原因

  • WandB 在程序退出时尝试关闭连接
  • 但连接可能已经被系统或其他进程关闭
  • 这是清理阶段的竞态条件

影响

  • 不影响训练结果
  • 不影响 checkpoint 保存
  • WandB 数据已经同步(从日志可以看到 “Synced 5 W&B file(s)”)

2. ResourceTracker AttributeError

AttributeError: '_thread.RLock' object has no attribute '_recursion_count'

原因

  • Python multiprocess 的资源跟踪器在清理时的问题
  • 可能是 Python 版本兼容性问题
  • 发生在__del__析构函数中

影响

  • 不影响训练结果
  • 不影响数据保存
  • ⚠️ 可能有一些资源没有完全清理(但会被系统回收)

验证训练是否成功

检查 checkpoint

# 查看最新的 checkpointls-lh /root/autodl-tmp/verl/checkpoints/verl_example_gsm8k/deepseek_llm_7b_function_rm/# 查看 checkpoint 内容cat/root/autodl-tmp/verl/checkpoints/verl_example_gsm8k/deepseek_llm_7b_function_rm/latest_checkpointed_iteration.txt

检查 WandB 记录

从日志可以看到:

  • ✅ WandB 已经同步:Synced 5 W&B file(s)
  • ✅ 可以查看运行记录:https://wandb.ai/xxx/verl_example_gsm8k/runs/ny8yfg5m

检查训练指标

从日志可以看到训练指标已经记录:

  • actor/pg_loss: 0.00065
  • actor/ppo_kl: 0.00011
  • critic/advantages/mean: 0.0
  • 等等

解决方案

方案 1: 忽略错误(推荐)

这些错误不影响训练结果,可以安全忽略。训练已经成功完成。

方案 2: 抑制 WandB 退出错误

如果不想看到这些错误信息,可以在脚本中添加:

# 在脚本开头添加exportWANDB_SILENT=true# 或exportPYTHONWARNINGS="ignore::UserWarning"

方案 3: 更新依赖

如果问题持续,可以尝试更新相关包:

pipinstall--upgrade wandb multiprocess

方案 4: 使用环境变量抑制

# 抑制 atexit 错误exportPYTHONUNBUFFERED=1# 或者在 Python 代码中importwarnings warnings.filterwarnings('ignore')

总结

  • 训练成功完成:所有数据已保存
  • WandB 同步成功:数据已上传
  • Checkpoint 已保存:可以继续训练或使用
  • ⚠️退出错误:不影响结果,可以忽略

建议

  1. 检查训练结果:确认 checkpoint 和 WandB 记录正常
  2. 继续使用:这些错误不影响后续使用
  3. 如果担心:可以查看 WandB 网页确认所有数据都已记录

相关链接

  • WandB 运行记录:https://wandb.ai/xxx/verl_example_gsm8k/runs/ny8yfg5m
  • 项目页面:https://wandb.ai/xxx/verl_example_gsm8k
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/8 14:55:12

昇腾AI:不只是一颗芯片,更是一个时代的算力答案

在2025年世界人工智能大会的核心展区&#xff0c;一台被称为“镇馆之宝”的昇腾384超节点被参观者团团围住&#xff0c;金属机身泛着冷光&#xff0c;内部却跳动着创新算力架构的脉冲。智能时代的算力竞赛已进入白热化&#xff0c;当大部分目光聚焦于单颗芯片的算力比拼时&…

作者头像 李华
网站建设 2026/7/8 16:08:51

6、网络服务枚举与安全防护全解析

网络服务枚举与安全防护全解析 1. 基础横幅抓取 横幅抓取是最基本的枚举技术,通过连接远程应用并观察输出,攻击者可获取运行服务的品牌和型号等关键信息,为漏洞研究提供线索。常见的手动横幅抓取工具包括 telnet 和 netcat 。 - telnet :大多数操作系统内置的远…

作者头像 李华
网站建设 2026/7/7 15:12:41

8、Windows系统认证攻击与防范全解析

Windows系统认证攻击与防范全解析 在Windows系统的安全领域,一旦攻击者获得了一定程度的访问权限,后续往往会展开一系列更具威胁性的行动。本文将详细介绍攻击者在获得访问权限后可能采取的攻击手段,以及相应的防范措施。 1. 权限提升 攻击者获取Windows系统的用户账户后…

作者头像 李华
网站建设 2026/7/7 12:10:57

Linux网络参数:现代内核的智能优化之道

你是否曾经花费大量时间调整各种网络参数&#xff0c;却发现效果甚微&#xff1f;或者盲目跟随网上的调优指南&#xff0c;却导致系统稳定性问题&#xff1f;今天&#xff0c;让我们重新审视Linux网络参数的真正价值——现代内核已经内置了令人惊叹的智能优化机制。 【免费下载…

作者头像 李华
网站建设 2026/7/9 0:33:25

C# 随机数添加数组对象和数组的查询方法

一、数组对象添加数据使用随机数案例&#xff1a;定义一个数组&#xff0c;存储10个People对象&#xff08;姓名、性别、年龄&#xff09;要求年龄随机在18-30之间&#xff0c;性别也是随机的 姓名也是随机的首先声明一个带有&#xff08;姓名、性别、年龄&#xff09;属性的类…

作者头像 李华
网站建设 2026/7/7 2:26:28

RouterOS 7.19 x86深度技术解析:网络协议优化与系统稳定性关键技术

技术前沿 【免费下载链接】MikroTikPatch 项目地址: https://gitcode.com/gh_mirrors/mikr/MikroTikPatch MikroTikPatch开源项目持续跟踪RouterOS系统演进&#xff0c;为网络工程师和系统管理员提供深度技术洞察。RouterOS 7.19 x86版本作为重要更新&#xff0c;在网络…

作者头像 李华