当前位置: 首页 > news >正文

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
http://www.cnnetsun.cn/news/8335.html

相关文章:

  • 昇腾AI:不只是一颗芯片,更是一个时代的算力答案
  • 6、网络服务枚举与安全防护全解析
  • 8、Windows系统认证攻击与防范全解析
  • Linux网络参数:现代内核的智能优化之道
  • C# 随机数添加数组对象和数组的查询方法
  • RouterOS 7.19 x86深度技术解析:网络协议优化与系统稳定性关键技术
  • 你还在盲调量子电路?这3个VSCode插件让你秒变QML调试高手
  • RAG知识库——怎么构建一个高质量的知识库
  • 以向善价值观构建数字信任,数美2025 AI风控大会重磅发布“AI风控新范式”
  • 终极嵌入式按键解决方案:MultiButton状态机库实战指南
  • ZyPlayer终极配置指南:3步打造专属影院级体验
  • gmhelper:5分钟快速掌握国密算法SM2/SM3/SM4的完整应用方案
  • 19、高级Shell编程与正则表达式过滤器
  • PHP兼容性检查工具完整指南
  • 基于元胞自动机交通模型的三车道Matlab代码:模拟车辆多车道行驶及可视化分析系统
  • 豆包手机二手价被炒到3.6万元;被曝开发“芯片定位”技术,英伟达:这不是后门;千问月活突破3000万 | 极客头条
  • Wan2.2-T2V-A14B适合哪些行业?五大垂直领域推荐
  • 基于西门子S7-200PLC的自动灌溉系统组态王组态 带解释的梯形图程序,接线图原理图图纸,io分配
  • 机器学习驱动的智能化电池管理技术与应用
  • 如何优化MinerU项目的PaddleOCR模型部署效率
  • SVG.js动画开发终极指南:从入门到精通
  • Python 对象序列化与存储库pickle详细介绍
  • 圣诞快乐!来自代码世界的祝福
  • 一致性的威力:AI如何在B/G端释放数据治理的真正生产力
  • 知行之桥三种接口详解:Webhook、Flow API 与 Admin API
  • CPFEM晶塑动态展示:VUMAT子程序高效率与多维度模型应用测试
  • 毕业设计实战:基于SpringBoot+MySQL的旅游网站设计与实现,从需求到测试全流程拆解,新手也能轻松通关!
  • 如何在没有电脑的情况下备份 iPhone
  • Python HTTPX性能优化实战:10个技巧解决90%的连接问题
  • 空调加热器MPC模型预测控制程序与修正Kalman滤波:附简洁文献与附图与运行指南