星际争霸_强化学习_Pymarl环境搭建指南

Pymarl github项目:oxwhirl/pymarl

SMAC github项目:oxwhirl/smac

星际争霸API github项目:Blizzard/s2client-proto

1. 安装SC2游戏

首先是要安装SC2游戏,在windows系统下直接安装最新的星际争霸游戏即可。

在SMAC项目中强调,在Ubuntu等Linux系统中,我们需要下载SC2.4.6.2.69232版本的SC2环境。

http://blzdistsc2-a.akamaihd.net/Linux/SC2.4.6.2.69232.zip​blzdistsc2-a.akamaihd.net/Linux/SC2.4.6.2.69232.zip

2. 安装Pymarl的conda环境

创建pymarl环境:

conda create -n pymarl python=3.7 -y
conda activate pymarl   

安装pytorch:

# cpu
conda install pytorch=1.6.0 cpuonly -c pytorch
# gpu 
conda install pytorch==1.6.0 torchvision cudatoolkit -c pytorch -y

pip安装:

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

安装SMAC:

pip install git+https://github.com/oxwhirl/smac.git

 

3.环境配置

设置SC2PATH环境地址:

在Windows环境变量中,增加SC2PATH变量,其值为 E:\Program Files (x86)\StarCraft II。

在Ubuntu中,打开bashrc:

vim ~/.bashrc

添加:

export SC2PATH=~/SC2.4.6.2.69232/StarCraftII/

更改bashrc后,需要更新环境:

 source ~/.bashrc

添加地图:

下载SMAC地图,解压后放入SC2PATH/Maps中。星际争霸API项目中,SC2.4.9.3游戏包Maps文件夹有几个赛季的地图,但在windows环境下解压后上传至Ubuntu时,未能正常运作,故大家尽量将zip压缩包在Ubuntu环境下解压使用。

 

4. 测试环境

测试smac环境:

python -m smac.examples.random_agents

在window环境中,星际争霸游戏界面会弹出来。而在Ubuntu中会有SMAC运行信息现实在终端中:

测试Pymarl:

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

Windows与Ubuntu终端中,都会有训练信息打印出来。

在Ubuntu中出现了突出阶段的报错,参考:

Simple way to run the project​www.gitmemory.com/issue/oxwhirl/pymarl/78/804080717

如下修改src/utils/logging.py第46行。

import torch as th
# 46 line
item = "{:.4f}".format(th.mean(th.tensor([x[1] for x in self.stats[k][-window:]])))

你可能感兴趣的:(ar,python,强化学习)