问题标签 [ml-agent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2851 浏览

unity3d - 如何让机器学习代理在 Unity 中运行?

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

0 投票
1 回答
39 浏览

unity3d - 我怎么知道代理是一起工作的?

我已经使用 ML-Agents 几个月了,并且一直在研究一对自平衡的腿。不过,从我开始工作的那一天起,我就有一个问题一直困扰着我:我如何知道代理人正在合作的事实?我所做的只是复制并粘贴区域预制件 9 次。这就是使代理更有效地学习所需要做的一切吗?还是我还缺少其他东西?谢谢。

训练

特工脚本>>>(我真的不需要使用除此之外的任何其他脚本。地区和学院没有任何内容。)

0 投票
1 回答
675 浏览

python - 未找到 mlagents_envs 的匹配分布

我试图安装ml-agents到 anaconda 中。我在 Anaconda Prompt 上收到以下错误:

错误:找不到满足要求的版本 mlagents_envs==0.15.0.dev0(来自 mlagents==0.15.0.dev0)(来自版本:0.8.0、0.8.1、0.8.2、0.9.0、 0. 9.1, 0.9.2, 0.9.3, 0.10.0.dev0, 0.10.0.dev1, 0.10.0, 0.10.1, 0.11.0.dev0, 0.11.0, 0.12.0, 0.12.1, 0.13.0, 0.13.1, 0.14.0, 0.14.1) 错误:未找到 mlagents_envs==0.15.0.dev0 的匹配分布(来自 mlagents==0.15.0.dev0)

0 投票
1 回答
255 浏览

c# - 为什么我的 AI 模型可以训练但没有进化 - ML Agents

统一创建了一个简单的游戏,其中球应该击中目标而不击中墙壁。所以,开始训练,结果太糟糕了。球只是收集 4 个目标之一。但是 EndEpisode() 在收集最后一个目标时发生。

整个 1650,000 步训练的场景和球路径的屏幕截图(如果我没记错的话,因为我称它为每 10,000 步训练的一代。)

球甚至没有尝试击中第二个目标。我的代码有什么问题?

我什至尝试用 RayPerceptionSensor3D 用圆柱体替换球体,这样它就不会翻滚并干扰 rayperceptionSensor3d。但它给出了更糟糕的结果。

奇怪的训练图 - tensorboard 这是我在 tensorboard 训练后得到的。

0 投票
1 回答
50 浏览

c# - 在 Unity 中使用 Mlagent 进行决策

我正在学习使用 Unity 和 Mlagents。我准备了一个培训环境,在其中我有一个必须按材料类型(金属、塑料等)回收对象的代理。

例如:当智能体碰撞一个塑料瓶并检测到它有一个塑料标签时,如果它与人类碰撞,则该物体会物理移动到一个用于塑料的空间,金属也会移动(并获得 +1 奖励)( Human Tag) 受到 -2 的惩罚。

到目前为止一切正常,经过训练(强化学习)的代理正确地实现了他的目的。

问题是内部代码仅包含以下行:如果代理与人发生碰撞,他将受到惩罚(-2)如果代理与墙壁发生碰撞,他将受到惩罚(-1)如果代理与塑料物体发生碰撞,物体移动到塑料的特定空间(+1)如果代理与金属物体碰撞,物体移动到金属的特定空间(+1)

问题:你如何给智能体一个“机会”,让他们在错误分类对象时犯错误,然后再从中学习?目前它只是在“如果”之后行动

我认为可能使用一些随机参数,当代理与对象碰撞时,它会随机将其分配给一个回收点,如果这导致不正确的回收点,它将受到惩罚,但是......代理可以从中学习吗?这意味着代理将在学习和训练期间“控制”随机参数。

我将不胜感激任何想法或建议。

0 投票
1 回答
425 浏览

python - Unity:Mlagents-learn 问题

我对 Unity 有点陌生,所以我可能做错了什么。但我确实从头到尾遵循了安装指南,可以在 mlagents GitHub 安装指南中找到。我的猜测是我在部分 python 包安装中做错了,尽管我也遵循了这一点。但是,当我尝试mlagents-learn config/ppo/3DBall.yaml --run-id=first3DBallRun在 cmd 中运行 mlagents-learn 命令时,出现以下错误。

鉴于错误消息,我假设问题出在 Python 上。还有快速笔记,我不在虚拟环境中,不确定这是否重要。我只是想为一个论文项目做一些简单的测试。还有一种方法可以从培训课程中提取图表吗?

0 投票
1 回答
1054 浏览

unity3d - 为什么 Unity 的 ML-Agent 不能与 Google Colab 合作

我正在尝试在 Google colab 上训练 ML-Agent,但每次失败时都会出现相同的给定错误。

ML-Agents 版本 = 0.15.1检查 repo

Unity 版本 = 2018.4.21f1(用于创建 Linux 构建)

使用的步骤:

  1. 从 Unity 编辑器为 Linux 创建一个构建文件。
  2. 压缩构建文件并将其上传到 google colab。
  3. 在 google colab 中解压并启用执行权限。
  4. 克隆并安装了 ml-agents 存储库。与上述回购相同
  5. 使用此命令开始训练过程

我遵循的另一种方法:

在 google colab 中安装 unity 以在 colab 本身中创建构建文件,但构建无法统一运行。

为了实现这一点,我使用了笔记本

互联网上似乎没有与此主题相关的资源。所以请帮助我完成这项工作,我已经浪费了两天的时间来搜索并尝试在 google colab 中运行 ML-Agents。

更新:在我使用 Unity 引擎的 2019.3.15f1 版本更新我的环境构建后,colab notebook 开始工作。

0 投票
1 回答
575 浏览

python - “UnityEnvironment”对象没有属性“behavior_spec”

我按照这个链接到文档来创建我自己的环境。

但是当我运行这个

弹出游戏窗口,然后终端显示错误提示

尽管这是文档中显示的确切片段。

我按照这个(它没有大脑)创建了环境,并且我能够通过 .conf 文件训练模型。现在我想连接到 python API。

0 投票
1 回答
228 浏览

python - “UnityEnvironment”对象没有属性“get_agent_groups”(mlagents_envs 0.16.1)

python版本为

并且能够成功地遵循这个文档
但是我想用 PYTHON-API 控制环境所以我跟着这个和我的代码

输出上述代码

我确实有这段代码,为什么get_agent_groups没有定义函数?我无法找到解决方案。另外它是用文档编写的

0 投票
1 回答
1425 浏览

unity3d - 使用 Unity3D ML-Agents 时,无法使用 API 版本 API-13 连接到端口 5004 上的训练器

我正在使用 Unity3D ML-Agents,当在内部运行多个克隆的示例时(例如 3DBall),控制台中有一条消息说:

无法使用 API 版本 API-13 连接到端口 5004 上的训练器。将改为执行推理。UnityEngine.Debug:Log(Object) MLAgents.Academy:InitializeEnvironment()(位于 Assets/ML-Agents/Scripts/Academy.cs:228) MLAgents.Academy:LazyInitialization()(位于 Assets/ML-Agents/Scripts/Academy. cs:147) MLAgents.Agent:OnEnable()(在 Assets/ML-Agents/Scripts/Agent.cs:255)

我试图关闭防火墙,但没有奏效。我该如何解决?

我使用的版本是