1

我已经尝试过阅读文档,但其中提到的步骤还不够清楚。是否有一个很好的分步视频教程可以提供帮助?我在 YouTube 上看到的那些已经很旧了,并且不适用于 GitHub 上的最新更新https://github.com/Unity-Technologies/ml-agents

4

1 回答 1

3

这将帮助您设置 ml 代理版本 14。

https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Installation.md

我目前正在使用这个版本。我建议您为此目的创建一个新的 python 环境。不要pip install mlagents在你的 python 环境终端中使用。当我安装它时,它没有更新到 14,所以使用上面的链接查看完整的指南,但这里是重要的东西。

下载 zip 文件 Ml Agents master 解 压缩此 Zip 文件时,应打开此解压缩文件夹。然后在该位置打开cmd。激活您的 python 环境并按照以下步骤操作:
您应该从克隆的 repo 而不是从 PyPi 安装包。为此,您需要分别安装ml-agentsml-agents-envs。在 ml-agents=master 文件夹中打开 cmd 并激活您的 python 环境,然后从 repo 的根目录运行:

cd ml-agents-envs
pip3 install -e ./
cd ..
cd ml-agents
pip3 install -e ./

从同一个 ml 代理文件夹安装两个软件包非常重要,如果版本不兼容,这将不起作用。如果从同一个文件夹安装,两个包将具有相同的版本,即在这种情况下为 14。

这两个包将帮助您使用预定义的 PPoSAC 算法。
我想你已经安装了 2018 或 2019 Unity。打开它并转到文件→打开项目

现在在打开的对话框中选择您已下载 的 ml-agents-master文件夹中的文件夹Project 。在此处输入图像描述

抱歉,大多数东西都被命名为项目,但不要混淆,早期的项目是ml-agents-master中的一个文件夹,但打开它后你会看到一个项目工具栏。按照Assets\ML-Agents\Examples\3Dball\Scenes现在双击 3Dball。如您所见,这将打开一个场景。您还可以看到TFModelsScirpts,它们分别是预定义的神经网络和代码。

在此处输入图像描述在左侧的层次结构工具栏中 选择代理(这将只对 3Dball 的实例进行更改,最好转到预制件然后双击 3Dball 这将只打开一个 3Dball,其设置将应用于现在层次结构中的所有实例将只看到一个 3Dball,现在选择它的 Agent rest is same 但现在更改将影响 3Dball 的所有副本,预制件用于控制所有副本,这有助于同时训练多个代理)然后在右侧的Inspector 视图中将打开,在Behaviors 参数中,您可以在其框中看到模型和输入。保持选中代理,否则此检查器视图会消失 。现在转到TFModels文件夹,您将看到一个看起来像神经网络的 3Dball 文件。将其拖到该代理的行为参数模型中。完成所有这些步骤后,点击顶部的播放选项。现在预定义的模型将开始播放,您会看到它可以很好地平衡球。

现在您可以了解训练模型的工作原理并希望使用预定义的PPO 和 SAC再次进行训练,请按照此操作

转到:ml-agents-master\config,在这里你会找到一个文件trainer_config.yaml,现在打开 cmd 然后激活你的环境并输入代码
mlagents-learn trainer_config.yaml --run-id=firstRun --train
当消息“通过按 Unity 编辑器中的播放按钮开始训练”显示在屏幕,您可以按 Unity 中的 ▶️ 按钮开始在编辑器中进行训练。您可以按Ctrl+C停止训练,您训练的模型将位于 models run-identifier → behavior_name.nn 其中behavior_name是模型对应的代理的行为名称的名称。
将您的模型文件移动到 Project/Assets/ML-Agents/Examples/3DBall/TFModels/。打开 Unity 编辑器,然后如上所述选择 3D Ball 场景。选择 3D Ball 预制代理对象。将 <behavior_name>.nn 文件从编辑器的项目窗口拖到 Ball3DAgent 检查器窗口中的模型占位符。按编辑器顶部的 ▶️ 按钮。

现在,对于您自己在 python 中的 RL 算法:
请参阅这个jupyter 笔记本,它展示了我们如何激活 unity gym 并获得观察、奖励和重置环境。为此,还可以创建 Unity 可执行文件,它只是创建带有一些设置的 exe 文件,您可以在此处找到这些设置


希望这没有任何问题。祝你好运。

于 2020-02-13T22:00:04.673 回答