一名梦想发顶会的MARL小白,想在SMAC之外找更多的测试Env,正好发现开悟在宣传他们的比赛,因为涉及到wsl的设置,在配置过程中走了挺多弯路,所以发帖记录下,希望能帮到大家。
1、WSL配置
开悟是需要同时在Linux和windows下跑的,其中hok_env是在linux下运行的SDK,gamecore是在Windows下跑的,官方推荐是用docker或者wsl。
此教程使用wsl2配置,关于wsl的配置可以参考微软官网的文档。设置 WSL 开发环境https://learn.microsoft.com/zh-cn/windows/wsl/setup/environment
2、Miniconda3配置
习惯用conda来管理包,所以在Ubuntu下继续用conda。因为担心子系统的运行速度,所以下载轻量化的miniconda。各版本下载包可以在官方文档找到。miniconda3https://docs.conda.io/projects/miniconda/en/latest/下载好之后进行安装
sh Miniconda3-latest-Linux-x86_64.sh
接下来出现的所有选项都是yes,会自动init添加环境变量。
安装完成后初始化环境
source ~/.bashrc
然后当前用户名前会出现(base),需要创建自己conda环境,由于开悟官方推荐的是py3.6/7,因此这里我们安装python3.7
conda create -n xxxxx python==3.7
3、PyCharm配置
PyCharm可以直接部署wsl作为环境,在添加解释器中选择wsl
再选择自己的conda环境即可
4、开悟平台配置
在经过上文的前期部署之后,我们终于可以开始配置我们的核心内容了,按照官方所给出的文档,我们在wsl下创建一个文档来安装hok_env(安装在/mnt下,因为是通过Windows调用的)
hokhttps://github.com/tencent-ailab/hok_env
(1) Windows下的操作
在官网下好开悟的gamecore,需要签合同
腾讯开悟https://aiarena.tencent.com/aiarena/zh/open-gamecore签好合同后将license.dat放在gamecore/core_assets文件夹下
在github页面下找到conf文件的内容,然后在gamecore/bin下创建conf文件
然后我们测试下gamecore了,先将\lib\加入环境,再运行sgame_simulator
cd gamecore\bin
set PATH=%PATH%;..\lib\
.\sgame_simulator_remote_zmq.exe .\sgame_simulator.common.conf
当出现以下数据则是运行成功,可以退出了
最后运行gamecore
cd gamecore
gamecore-server.exe server --server-address :23432
(2) WSL下的操作
在安装好hok后,我们来测试是否安装成功
cd /hok_env/hok/hok1v1/unit_test
python test_env.py
当出现以下界面则安装成功
(3) 对局回放
在hok_env_gamecore下有一个对局回放文件夹replay_tool,将gamecore中输出的abs文件放到replay_tool/Replays下,再打开ABSTool即可观看回放
到这里配置就完成了,剩下的工作就是移植自己的MARL算法了,研究中...