问题标签 [flow-project]

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 回答
181 浏览

ray - 如何在 2 个 GPU 上运行 Flow 训练?

从 Wouter J 转发。

如何在 GPU 上运行流训练?

我目前正在尝试让ppo_runner基准测试与我的 2 个 GPU 一起工作。但是,我找不到任何方法来利用这些资源。我需要对代码进行哪些更改才能使用 GPU?

0 投票
1 回答
42 浏览

sumo - 如何在自定义场景中添加额外的设施?

我想知道如何在自定义场景中添加额外的设施,例如停车场或巴士站?我已经完成了相应的.add.xml 文件,但是不知道如何将其导入到自定义场景中。我可以使用任何函数来设置这些附加参数吗?

【陈辉转贴】

0 投票
1 回答
78 浏览

flow-project - 基准场景“Merge”中的模拟参数和奖励计算

我目前正在尝试从您以前的论文中复制一些关于我安装 flow 的结果。我遇到了以下问题,其中我不清楚实验中使用的确切参数以及论文中给出的结果。

对于 [1],我希望能够通过从您的存储库运行 stabilizing_highway.py 来重现结果。(使用提交“bc44b21”,虽然我尝试运行当前版本,但找不到与我的问题相关的差异)。我预计在 [2] 中使用的合并场景是相同的。

我已经发现论文/代码中的差异是:

1) [2] (2) 中的奖励函数与 [1] (6) 中的不同:第一个使用最大值并在总和的第一部分进行归一化。为什么会有这种差异?查看代码,我将其解释如下:根据评估标志,您可以将(a)奖励计算为模拟中所有车辆的平均速度,或者(b)作为 [2] 中给出的函数(没有标准化关于速度的术语),但值为 alpha(代码中的 eta2)= 0.1(参见 merge.py,第 167 行,compute_reward)。我找不到论文中给出的 alpha 参数,所以我假设使用了代码版本?

2)我进一步阅读了代码,就好像您通过迭代模拟中的所有车辆来计算它,而不仅仅是观察到的车辆?这对我来说似乎违反直觉,在部分观察到的环境中使用奖励函数通过使用来自完全观察到的状态信息的信息来训练代理......!?

3)这引出了下一个问题:您最终希望在设置评估标志时评估给定的奖励,即模拟中所有车辆的平均速度,如 [1] 的表 1 所示。这些值是通过对您可以运行可视化工具生成的 emit.csv 文件中的“速度”列进行平均计算得出的吗?

4)下一个问题是关于[1]和[2]图中的累积收益。在 [1] 图 3 中,在合并场景中,cum。回报最大约为 500,而最大。[2] 的值,图 5 约为 200000。为什么会有这种差异?使用了不同的奖励函数?请您提供两者的 alpha 值并验证哪个版本是正确的(纸质或代码)?

5) 我还观察到 [1] 表 1,Merge1 和 2:ES 显然具有最高的平均速度值,但 TRPO 和 PPO 具有更好的累积回报。这是否表明用于评估的 40 次推出不足以获得具有代表性的平均值?或者说最大化训练奖励函数不一定能给出好的评价结果​​?

6) 我不清楚其他一些参数:在 [1] Fig3 中,提到了 50 个 rollout,而 N_ROLLOUTS=20。你推荐使用什么?在 [1] A.2 Merge 中,T=400,而 HORIZON=600,和 [2] C. Simulations 讨论了 3600s。查看运行 Visualizer_rllib.py 时在 Sumo 中产生的回放,模拟在时间 120.40 终止,这将与 600 的 HORIZON 相匹配,时间步长为 0.2 秒(此信息在 [2] 中给出。)所以我假设,为此在场景中,地平线应该设置得比 1 和代码都高得多,而不是设置为 18.000?

感谢您的任何提示!韩国

[1] Vinitsky, E., Kreidieh, A., Le Flem, L., Kheterpal, N., Jang, K., Wu, F., ... & Bayen, AM(2018 年 10 月)。混合自治交通中强化学习的基准。在机器人学习会议上(第 399-409 页)

[2] Kreidieh、Abdul Rahman、Cathy Wu 和 Alexandre M. Bayen。“通过深度强化学习在封闭和开放网络中消散走走停停的波浪。” 在 2018 年第 21 届智能交通系统 (ITSC) 国际会议上,第 1475-1480 页。IEEE,2018 年。

0 投票
1 回答
115 浏览

sumo - 无法在 macOS 上安装 sumo 二进制文件

我在安装 sumo 二进制文件时遇到了一些麻烦。查看日志:

0 投票
1 回答
101 浏览

flow-project - 如何编写基于代理ID的多代理中的Get_state()返回?

我正在尝试为交通灯控制制作 3x3 网格 (grid0) 的多代理实现。在该get_state功能中,我想在此功能中发送给 RL 代理的信息有所不同。因此,代理 1 仅获得在边缘上行驶至交叉口 1 的车辆的信息。

据我了解,每个代理都会调用 `get_state 函数。

如何区分代理?有可能做这样的事情吗?

有没有像这样的方法或功能(代理列表或其他东西)来区分get_state功能中的不同代理?

其次,agent_id 是否与红绿灯 id(intersection_id)相同?(以及如何为每个路口分配不同的代理?现在我只是使用默认grid0场景,但我喜欢使用多代理环境)。

提前致谢!

0 投票
4 回答
177 浏览

sumo - 在简单网格场景中设置多个车道时,tls 中的相位大小不匹配

我正在修改../flow/scenarios/grid.py.../examples/rllib/green_wave.py中的SimpleGridScenario类,以便我可以将我的简单网格变成每个走廊场景的双车道。我添加了它们,还设置了新的连接,以便车辆可以左右转弯。这显示在所附图像中。对于每种方法,第一条车道允许车辆左转并直行,第二条车道允许车辆右转并直行。

不幸的是,每次我运行模拟时都会收到以下错误:

错误:tls 'center0',程序 'online' 中的相位大小不匹配。退出(错误)。

网格中的示例节点

NETEDIT 中的连接

相扑中的阶段

有谁知道为什么?

我已经在 sumo-gui 中验证了相位大小,它是 16,这是正确的,因为我每次进近有 4 个可能的动作。

SimpleGridScenario > __init__()

文件可以在以下链接下载: 流文件

不要忘记将场景目录中的 __init__.py 文件替换为您的文件!

更新:似乎可能有对 TLS 的在线修改,可能是 Traci。有关更多详细信息,请查看此(最后一条评论):单击此处

0 投票
1 回答
97 浏览

python - 如何在 Flow 模拟中更改车辆的尺寸?

看来我们只能创建stable size一个vehiclesin Flow Simulation。我们如何改变车辆的大小(包括lengthwidth的)?car

0 投票
1 回答
59 浏览

python - 我们可以为 Flow 项目中的每个车道选择最大和最小速度吗?

好像只能对创建的道路中的所有车道设置整体限速,而在换道的情况下不能对单车道设置限速。

0 投票
1 回答
49 浏览

traffic-simulation - 使用 flow-project 对 OSM 数据进行模拟时,车辆消失

链接到我正在使用的存储库: https ://github.com/flow-project/flow

我有来自 osm 的数据并试图模拟交通,但是在一段时间后模拟汽车消失了。

0 投票
1 回答
84 浏览

python - 使用 Rllab 可视化绘制奖励时的 Wanring

我正在调用 visikitfrontend.py来绘制 100 次迭代后的奖励。

但我得到了错误:

我在这里找不到问题。基本上,我正在按照教程说明进行操作。有没有人有见解?