win 10 下安装星际争霸2的ai项目deepmind pysc2指南目录

更新日志

2017.11.10 创建

介绍

DeepMind联合暴雪娱乐共同发布了星际争霸2人工智能研究环境SC2LE(StarCraft II Learning Environment)。国内多个渠道都在第一时间对官方博客DeepMind and Blizzard open StarCraft II as an AI research environment进行了译载。

网上基本都是linux下的安装教程,我自己在win10下安装了一下,顺便写个教程。

环境

  • win10
  • 星际2 国服 3.19.1 官方说3.16以上均可
  • anaconda 5.0
  • python3.6
  • Tensorflow 1.4
  • keras (这个没用,哈)
  • git 必备

安装步骤

  1. 确保星际版本在3.16以上,我用的是国服免费版本3.19.1
  2. 在环境变量中添加 SC2PATH 指向星际2的目录,是否设置成功可以在cmd用 echo %SC2PATH% 查看,显示实际地址例如我的 D:\game\StarCraft II 则没有问题
  3. 安装基线库 pip install baselines 因为我装keras的时候已经安装完TF了,所以就直接装baselines就可以了,没有的话要装Tensorflow,因为后面的例子要用OpenAI的基线库实现增强模型。而OpenAI的基线库依赖于Tensorflow,OpenAI的基线是Deep Q-Network的一个实现,所以这几个包都要装了。
  4. 安装pysc2 pip install pysc2,如果遇到问题,可以看常见问题

测试

  1. 下载测试地图 https://github.com/deepmind/pysc2/releases/download/v1.0/mini_games.zip 复制到星际2的地图目录 %SC2PATH%/StarCraft II/Maps/mini_games 目录没有的话就创建

  2. 使用命令 python -m pysc2.bin.agent --map CollectMineralShards --agent pysc2.agents.scripted_agent.CollectMineralShards 如果出现星际的界面,则说明大功告成.

学习样例

  1. 下载别人写好的测试 git clone https://github.com/chris-chris/pysc2-examples 可能是我网不好,这个步骤有点慢,多试几次。
  2. 用这个exapmle来训练,测试下环境安装 python train_mineral_shards.py --algorithm=a2c
  3. 然后测试下训练的结果吧 python enjoy_mineral_shards.py

常见问题

TypeError: parse() got an unexpected keyword argument ‘transport_encoding’

如果出现

1
2
TypeError: parse() got an unexpected keyword argument 'transport_encoding'
namespaceHTMLElements=False,

的提示,说明你的html5lib版本旧 使用俩条命令的任意一条升级下就好了(我装的是anacoda)
python就这毛病,哎

conda upgrade pip

conda install -c anaconda html5lib

最后

星际2好就好在有银河编辑器可以自己设计地图自己训练