【如何安装DeepMind星际争霸2环境训练强化学习模型?】

Python与机器学习 徐 自远 935℃

【如何安装DeepMind星际争霸2环境训练强化学习模型?】

近日,DeepMind 开源了星际争霸 2 的强化学习环境,为大家了解强化学习提供了一个极好的机会。本文是一篇教程,讲解了如何设置 DeepMind 的环境并训练强化学习模型。

预先准备

  • IntelliJ (或者 PyCharm)
  • Python3
  • StartCraft II (新手包也可以)
  • GIT

该教程基于 Mac 环境。在此文章中,我们将使用深度 Q 网络训练脚本来解决 CollectMineralShards 小游戏。

训练结果的演示视频如下:

(视频地址)https://youtu.be/xpdQYnnxAko

教程大纲

  1. 安装 pysc2
  2. Star & Fork pysc2-examples
  3. 复制 pysc2-examples repository
  4. 下载星际争霸 2 地图
  5. 安装 TensorFlow、基线库
  6. 用 IntelliJ(或者 PyCharm)开始该项目
  7. 运行训练脚本
  8. 运行预训练模型

开始

1. 安装 Pysc2

首先,安装 pysc2 库。你可以直接在终端上输入指令行(我们使用的是 python3):

pip3 install pysc2

2.Star & Fork pysc2-examples

然后打开 Github 项目地址:https://github.com/chris-chris/pysc2-examples,Star 并 fork 该 repository,哈哈。

3. 复制该 pysc2-examples repository

你可以使用以下简单命令行直接复制该 repository:

git clone https://github.com/chris-chris/pysc2-examples

然后你就能在电脑上看到「pysc2-examples」目录了。

4. 下载星际争霸 2 地图

在运行该训练脚本之前,我们需要下载 mini-game 地图,并将这些地图保存到 StarCraft II/Maps 目录下。

下载地址:https://github.com/deepmind/pysc2/releases/download/v1.0/mini_games.zip

我使用的是 Mac,我电脑上星际争霸地图的位置是:

/Applications/StarCraft II/Maps/mini_games

如果你是 Windows 用户,可以在 StartCraft II/Maps/mini_games 目录下保存图片。

对 Linux 用户而言,存储目录可以是~/StarCraft II/Maps/mini_games。

5. 安装 TensorFlow、基线库

我们需要安装谷歌 TensorFlow 和 OpenAI 基线库。你可以输入以下命令行进行安装:

pip3 install tensorflow

pip3 install baselines

我使用 OpenAI 的基线库实现了强化学习模型。此外由于 OpenAI 的基线库依赖 TensorFlow,所以也需要安装 TensorFlow。我认为 OpenAI 的 baseline 是对深度 Q 网络的完美实现。

6. 用 IntelliJ(或 Pycharm)开始该项目

输入以下命令行就能开始训练:

python3 train_mineral_shards.py

我目前在 IntelliJ 上运行该项目。

执行 IntelliJ 或者 PyCharm,打开我们复制的项目文件夹。

设置 Project Structure,选择 [File > Project Structure]。

在 Module SDK 上选择 Python3 SDK。如果你找不到 SDK,点击 [New…] 按钮,添加 Python3 binary。

7. 运行训练脚本

接下来就是运行训练脚本。右键单击 train_mineral_shards.py,选择 [Run ‘train_mineral_shards’]。

然后你能在控制台看到运行星际争霸 2 的日志。

以下是对控制台日志的简单解释:

steps:我们向 marine 发送的命令行数量;

episodes:我们玩的游戏局数;

mean 100 episode reward:之前 100 episode 的平均奖励

mean 100 episode min…:之前 100 episode 的平均矿量

% time spent exploring:探索时间所占的比率 (Exploration & Exploit)

我设定的运行 step 量是 2 千万。

8. 运行预训练模型

我将该项目编码为:所有训练步完成后,训练的模型保存至 mineral_shards.pkl 文件夹。

act.save(“mineral_shards.pkl”)

如果你想使用该预训练模型,可以执行 enjoy script。

右键单击 enjoy_mineral_shards.py,选择 [Run ‘enjoy_mineral_shards’]。

然后可以看到 CollectMineralShards 地图的预训练代理。

结语

在此文章中,我们介绍了设定 DeepMind 星际争霸 2 环境和训练模型的方法。

https://www.wukong.com/answer/6471446197922955533/?app=news_article&iid=15732855681&tt_from=android_share&utm_medium=toutiao_android&utm_campaign=client_share

 

转载请注明:徐自远的乱七八糟小站 » 【如何安装DeepMind星际争霸2环境训练强化学习模型?】

喜欢 (0)

苏ICP备18041234号-1 bei_an 苏公网安备 32021402001397号