4*2迷你军棋采用与论文相同的参数与缩小版(32通道)的CNN。训练时的 batch_size=500。
经过约12000个 learner step 得到 loss 如图:
与 random player 进行评估,胜率达到约 82% ,evaluator.py 的部分输出如图:
10*2缩小版军棋包括军棋中除工兵外全部的游戏逻辑,是我向完整版军棋进发的尝试。
10*2迷你军棋采用与论文相同的参数与缩小版(128通道)的CNN。训练时的 batch_size=20。
由于算力有限,我尚未在10*2缩小版军棋进行足够的参数调试测试,且batch_size=20对于军棋的多智能体训练实在太小,因此目前结果不佳。
经过约5000个 learner step 得到 loss 如图:
与 random player 进行评估,胜率达到约 54% ,负率仅约 39% ,evaluator.py 的部分输出如图:
首先安装带有军棋游戏的 Open Spiel 框架,以及jax, dm-haiku等依赖项
pip install open-spiel-junqi==1.4.2 jax dm-haiku
克隆此仓库
git clone https://github.com/JimZhouZZY/RNaD-JunQi.git
进入 game 文件夹,运行 copy.sh 替换文件(此步骤可能需要手动找到 python 的库文件夹并手动替换)
cd game
sh copy.sh
(此步可省略)检查机器 cpu 数量,根据机器 cpu 数量调整 config.py 中的 _NUM_ACTORS 变量
lscpu
开始训练
sh train.sh