引子

本文主要介绍多智能体强化学习环境:星际争霸二(SMAC)在linux环境docker上得安装。这里安装的环境来自这个链接:https://github.com/oxwhirl/pymarl

因为我们在服务器上一般只有一个属于自己的docker,而且碍于网络问题,直接按照github上的教程安装是行不通的。这里我给出我自己安装的方法,以供参考。

首先确保Linux系统中有git等基本的第三方拓展,如果没有的话在安装过程中会报错,依照报错提示进行对应库的安装即可。一般用pip就可以了。
比如:

pip install sacred numpy scipy matplotlib seaborn pyyaml pygame pytest probscale imageio snakeviz tensorboard-logger

开始安装

github上拉取文件

在确保网络通畅的情况下,在终端进入希望安装的文件夹中,输入

git clone https://github.com/oxwhirl/pymarl

进行源文件拉取。

修改install_sc2.sh文件

进入pymarl文件夹中,会有一个install_sc2.sh文件,这是安装sc2环境及SMAC地图的sh文件,打开后可以进行修改。

因为现在SMAC_Maps.zip文件已经无法下载了,因此建议自己手动下载安装。把
删去以下内容(文件27-41行):

echo 'Adding SMAC maps.'
MAP_DIR="$SC2PATH/Maps/"
echo 'MAP_DIR is set to '$MAP_DIR

if [ ! -d $MAP_DIR ]; then
        mkdir -p $MAP_DIR
fi

cd ..
wget https://github.com/oxwhirl/smac/releases/download/v0.1-beta1/SMAC_Maps.zip
unzip SMAC_Maps.zip
mv SMAC_Maps $MAP_DIR
rm -rf SMAC_Maps.zip

echo 'StarCraft II and SMAC are installed.'

这部分的功能就是下载SMAC地图库。

如果不删去,会有如下报错:
在这里插入图片描述

安装SMAC

在pymarl文件夹终端运行指令:

bash install_sc2.sh

等待半小时左右就安装好了。

会有一个进度条和一些文件安装的信息,例如:
在这里插入图片描述

手动安装SMAC地图包

这个链接中可以下载完整的SMAC地图包。

在pymarl/3rdparty/StarCraftII/Maps下创建文件夹并重命名为SMAC_Maps。
将地图文件全部上传到该文件夹即可。

可以在pymarl文件夹终端,输入以下指令进行运行测试。

python3 src/main.py --config=qmix --env-config=sc2 with env_args.map_name=2s3z
Logo

更多推荐