You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity 6.3 LTS搭配ML-Agents 4.0.2使用RenderTexture训练PPO智能体时出现间歇性冻结后自动恢复的问题求助

Unity 6.3 LTS搭配ML-Agents 4.0.2使用RenderTexture训练PPO智能体时出现间歇性冻结后自动恢复的问题求助

各位大佬好,我最近在训练PPO智能体时碰到了一个特别棘手的间歇性冻结问题,折腾了好几天没头绪,来求助大家:

我当前的环境是Unity 6.3 LTS + ML-Agents 4.0.2,采用多并行环境训练,核心用基于RenderTexture的视觉观测作为智能体的输入源。

核心问题现象

  • 训练初期一切正常,能稳定跑20~60分钟;
  • 之后会毫无征兆地进入停滞状态:Academy.StepCount完全停止增长,Python训练器会无限等待新的观测数据,但Unity进程始终存活,CPU、GPU、内存等系统资源也保持稳定,没有异常波动;
  • 这种停滞不会一直持续,大概20~30分钟后,训练会自动恢复,就像什么都没发生过一样,完全不影响后续训练节奏。

已做的排查验证

为了定位问题,我做了不少尝试,结果如下:

  • 无论训练器是运行在GPU还是CPU上,问题都会出现;
  • 降低Unity的画质等级,对现象没有任何改善;
  • 我在Unity侧加了看门狗逻辑,确认了停滞期间Academy.StepCount确实完全停止推进,排除了训练器端假死的可能;
  • 最关键的验证:当我完全移除RenderTexture视觉观测,换成纯非视觉观测后,问题彻底消失了——用完全相同的训练配置,只是去掉基于RenderTexture的传感器,训练就能持续运行,再也没有出现过冻结。

初步判断

结合这些排查结果,我现在推测问题应该出在Unity的视觉观测管线中,是模拟循环被某种内部阻塞或死锁卡住了,而不是Python训练器端的崩溃。

版本信息

Version information:
  ml-agents: 1.1.0,
  ml-agents-envs: 1.1.0,
  Communicator API: 1.5.0,
  PyTorch: 2.1.1+cpu

更新:
我成功连接了Unity Profiler对冻结期间的状态进行分析,捕获到了三张关键的Profiler截图(因无法外链展示,这里描述核心信息):Profiler数据显示,冻结期间的阻塞逻辑集中在Unity与RenderTexture视觉观测相关的内部处理流程中,进一步验证了问题出在视觉观测管线的推测。

备注:内容来源于stack exchange,提问作者Ling

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 17:54:33