火箭联盟机器人写作训练框架。
rlbottraining的Python项目详细描述
rlbottraining
可定制的训练火箭联盟机器人的任何语言。
教程:Click Here
安装
- 安装Python3.7或更高版本
pip install rlbottraining
功能一目了然
- 使用
RLBot
配置文件支持任何编程语言中的bot - 具有种子随机性的可复制训练设置
- 可定制的通过/失败标准
- 从Bakkesmod Training导入快照/播放列表
- 练习列表
- 自动重新加载bot和练习代码
- 从Bakkesmod Training导入
架构
- 在入口点(
run_exercises.py
),我们决定应该运行哪个GraderExercise
,并且config_path
定义要使用的rlbot设置(哪个bot,哪个模式)。 - 每个
GraderExercise
组合在一起的初始博弈状态和如何判断机器人判断bot的责任由Grader
s - A
Grader
通过查看每个勾号来决定是继续练习还是继续练习随着bot的改进,Grader
可以选择性地收集度量(例如,“目标前的时间”)以帮助跟踪bot性能。 - 职责分离:这个存储库的目的是使定义新的练习变得更好,而
RLBot
框架的训练api为任何训练提供了最少的特性。
编写自己练习的技巧:
- 总是子类
GraderExercise
,而不是Exercise
。使用Grader
s将允许您共享终止条件、跨tick安全存储状态并提供度量。 - 编写
Grader
s。例如,使用CompoundGrader
- 通过子类化
Fail
,在Grader
s中提供有意义的错误消息
未来方向
- 提供一个前锋vs守门员的例子
- 将度量(
Grader.get_metrics()
)放入数据库 - 浏览过去跑步记录的一种方式,包括指标
- 再现失败的练习
- 指标可视化
- 不同机器人的持续集成