本篇内容基于我在 AutoDL 云服务器 上对 Qmini 做完整训练与测试的实践总结,涵盖训练、可视化、策略测试、模型导出、URDF 调试等环节,并重点说明 headless(无显示)环境下的各种坑与解决方案。
前提说明:为什么不建议在云端直接跑渲染?
最初的目标是训练、渲染、视频录制全部在 AutoDL 上完成,不经过本地运行。然而现实是:
- 即使用 Xvfb 等虚拟显示器启动 Isaac Gym,也会发生视频保存全黑的情况。
- VNC 远程桌面也无法正常显示 Isaac Gym 的渲染窗口。
- 根本原因来自 驱动版本过高与 Isaac Gym 对驱动的强依赖。
因此更推荐:在云服务器训练模型 → 本地 Ubuntu 加载策略进行测试与演示。
训练阶段
python train.py --config BIRL --name <name>
--name: 存放路径experiments/<name>/--config: 选择配置文件,默认:BIRL--resume: 恢复训练- 示例:
python train.py --name stand --resume --path experiments/stand/checkpoints/policy_40000.pt
- 示例:
--render: 开启画面显示(isaac gym 窗口)--fix_cam: 视角固定在机器人上方--horovod: 多 gpu 训练--rl_device: 训练设备设置,默认 cuda0,可以改为 cpu 等--num_envs: 环境数量--seed: 随机种子,利于复现--max_iterations: 最大训练迭代次数
查看结果
云端可能出现 6006 端口占用 的情况,需要手动释放。
- 安装 lsof
apt-get update
apt-get install lsof -y
- 查看端口占用
lsof -i :6006
- 杀掉进程
kill -9 <PID>
- 重新启动 TensorBoard
tensorboard --logdir experiments/<name>/log --port 6006
运行训练好的策略 play.py
python play.py --render --name <name>
加载训练好的策略,开始跑模拟器。
- : 显示画面



