问题标签 [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 回答
712 浏览

python - Unity/ml-agents,用正确的参数调用多个大脑

这个。我可以成功训练 1 个大脑,但是当我想训练 2 个大脑时出现以下错误

在这里我找到了这部分,与我的问题有关:

步骤:env.step(动作,内存=无,值=无)

使用操作向环境发送步进信号。请注意,如果环境中有多个大脑,则必须提供从大脑名称到动作的字典。

  • 如果每个大脑有多个代理,动作可以是一维数组或二维数组。

  • memory 是一个可选输入,可用于发送每个代理的浮点列表,以便在下一步检索。

  • value 是一个可选输入,用于在 AgentMonitor.cs 组件附加到代理时为每个代理发送一个要显示的浮点数。返回将大脑名称映射到 BrainInfo 对象的字典。

但我不确定如何解释它。有人可以建议我应该如何构建它,以便我可以在我的环境中使用 2 个大脑吗?

谢谢!

0 投票
1 回答
340 浏览

unity3d - 大脑类型内部没有显示unity3d

我已经用 Python(PPO)训练了一个模型。我得到了大脑的字节文件,但是当我尝试选择大脑类型时,它没有显示任何Internal选项。我正在使用ML-AgentsNoPlugin.unitypackage这个项目。请让我知道出了什么问题

ml-agent大脑

0 投票
1 回答
601 浏览

deep-learning - 为什么要限制连续动作?

在深度强化学习中,使用连续动作空间,为什么在代理执行之前钳制动作似乎是一种常见的做法?

例子:

OpenAI Gym 山地车 https://github.com/openai/gym/blob/master/gym/envs/classic_control/continuous_mountain_car.py#L57

Unity 3DBall https://github.com/Unity-Technologies/ml-agents/blob/master/unity-environment/Assets/ML-Agents/Examples/3DBall/Scripts/Ball3DAgent.cs#L29

这样做不会丢失信息吗?就像模型为速度(移动)输出 +10,然后将其限制为 +1,动作本身的行为相当离散(仅考虑其执行)。对于细粒度的运动,将输出乘以 0.1 之类的东西不是更有意义吗?

0 投票
2 回答
616 浏览

image - 正确获取 numpy 数组的尺寸以绘制转换后的灰度图像

作为 Unity 的 ML 代理的一部分,输入到强化学习代理的图像可以转换为灰度,如下所示:

由于我对 Python 尤其是 numpy 不够熟悉,我怎样才能获得正确的尺寸来绘制重新整形的 numpy 数组?据我了解,形状基于图像的宽度、高度和通道数。所以整形后只有一个通道来确定灰度值。我只是还没有找到一种方法来绘制它。

这是Unity ML Agents 存储库中提到的代码的链接。

这就是我想要绘制它的方式:

0 投票
1 回答
679 浏览

python - 没有 GPU 的 Unity ML-Agents 的 Tensorflow 和 Cuda

我正在尝试使用 tensorflow 与统一 ml-agents 一起使用。我按照“创建conda环境”的设置说明进行操作。我成功地运行了 conda create 命令,激活了 tensorflow,安装了 tensorflow,最后启动了 python。

但是当我运行这个命令“import tensorflow as tf”时,由于我的机器没有 GPU,我得到了一个错误。我正在假设使用 CUDA_VISIBLE_DEVICES 环境变量将解决此问题并强制使用 CPU,但我不确定如何输入变量。

谁能告诉我这应该如何出现在环境变量界面中?或者有没有人对如何正确设置有任何其他想法?

提前致谢

0 投票
1 回答
1175 浏览

unity3d - ValueError:列出参数“值”到“ConcatV2”操作,长度为 0 小于最小长度 2 3Dball

执行“3Dball”会在 Unity ml-agent 中产生一些错误

当我执行 PPO.ipynb 时,直到“加载环境”才出现错误。

执行“训练代理”有一些错误

ValueError:列出参数“值”到“ConcatV2”操作,长度 0 比最小长度 2 短。

这是我执行的代码

https://github.com/Unity-Technologies/ml-agents/blob/master/python/PPO.ipynb

0 投票
0 回答
414 浏览

unity3d - Unity ML Agent 无法很好地学习默认示例

我正在尝试了解 Unity 机器学习 Beta。

我正在尝试在所有给定的示例场景上训练代理,3Dball 工作正常,但区域甚至基本示例都没有正确学习。问题可能出在超参数中,但我不确定。我的超参数是:

这意味着奖励不会增加超过 0.2(即使它有 0.9+ 的潜力)如果有人对这些示例进行过培训,您能告诉我您使用了哪些超参数吗?

提前致谢

0 投票
1 回答
240 浏览

python - 限制 Unity ML-Agents/Tensorflow 中的操作值

我将 Unity 与 ML-Agents 及其 PPO 实现一起使用。

我有一个动作来训练我的神经网络,它的输入为 -1 到 1。当我记录动作时,我可以看到网络总是尝试 550、630、-530 等值。我怎样才能将这些限制为只使用 -1 和 1 之间的值?

我试图在 Unity 中寻找它。找不到任何选项。现在我正在尝试修改 PPO 算法,但我找不到任何可以限制我的值的东西。

我的日志是这样工作的:我的代理有 AgentStep 方法:

Logger 是我编写的一个类,用于创建一个 csv 文件。此输出看起来不像:

提前致谢。

0 投票
1 回答
983 浏览

python - 带有 Tensorflow 的 Windows 10 上的 ML-Agent 的 Unity3D 机器学习设置

在过去的几个小时里,我一直在尝试启动并运行 Unity 3D的 ML-Agents 机器学习设置,但没有成功。

首先,我观看了此视频,该视频介绍了此GitHub存储库中也概述的初始安装。

接下来,我继续观看视频系列的第 2 部分(此处),但是问题从 4:48 开始,我意识到本教程使用的是 v 0.2,而我使用的是 v 0.3。

V 0.3 取消PPO.ipynb了视频中显示的文件。一切都是通过learn.py文件完成的。

然后我决定尝试遵循官方的 Unity 安装指南:

https://github.com/Unity-Technologies/ml-agents/blob/master/docs/Getting-Started-with-Balance-Ball.md

并参加了我无法解决的 PPO 部分的培训。

问题出现在这里:文档指出:

总而言之,转到您的命令行,输入 ml-agents 目录并输入:

注意:如果您使用 Anaconda,请不要忘记先激活 ml-agents 环境。

我试图运行:

python learn.py ball --run-id=ballBalance --train

但我收到了一些警告,如下所示:

文件“learn.py”,第 9 行,来自 unitytrainers.trainer_controller 导入 TrainerController 文件“C:\Users****\Downloads\ml-agents-master\python\unitytrainers__init__.py”,第 1 行,来自 .buffer进口 *

很长一段时间以来,我一直在尝试解决此错误消息。似乎learn.py确实找到了该文件,但不知何故没有正确解释?

的前 9 行learn.py

任何有关我如何解决此问题的指导将不胜感激。很乐意在需要时提供更多信息。上面提到的步骤应该复制我遇到的问题。

0 投票
1 回答
95 浏览

python - Tensorflow (1.4.0) 中的脚本需要导入“reader.py”(也位于 tensorflow 中)但失败。不知道该怎么做

前言:我正在使用 Python 3.6.5、Tensorflow 1.4.0 和 Unity Ml-Agents v0.3

我正在使用 tensorflow(1.4.0) 和 Unity Ml-Agents git 存储库。在 tensorflow 中有一个名为 saved_model_utils.py 的文件,它需要从 tensorflow 包中的不同文件目录导入 reader.py。我的问题是,当我运行训练程序时,它在 saved_model_utils.py 中的导入行失败。我尝试了多种不同的方法来指定导入文件的直接路径,但没有一个能满足这个问题。我认为有一些我不知道的东西使这变得困难,因为 tensorflow 将错误的脚本放在那里的包中是没有意义的。任何帮助表示赞赏!

这是 saved_model_utils.py 的图片: save_model_utils.py 与 reader.py 在项目窗口中突出显示

这是我运行脚本时终端和错误的图片: 终端错误