问题

带有强化学习工具的 Omnet++ [ML]


我目前无法找到一个简单的模块化框架来将 openAI gym 或 tensorflow 或 keras 与 omnet++ 链接起来,这样我就可以在每个工具之间进行通信并进行在线学习。

有诸如 omnetpy 和 Venes-gym 之类的工具,但是其中一个非常严格且不值得信赖(例如,无法确定与 openAI 的桥接),而另一个则记录得很差,以至于一个人无法逐渐减少它是怎样的应该被纳入一个项目。

作为 omnet 这么大的项目,它怎么可能像这样与 ML 世界脱节?

最重要的是,我仍然需要使用联邦学习,因此自定义的杂乱无章的解决方案会更加困难。

我发现各种文章说“我们使用了 omnet++ 和 keras 或 tensorflow”等,但没有一篇分享他们的代码,所以他们是如何做到的有点神秘。

或者,我可以使用 NS3,但据我所知,学习它非常投入。显然,对于 NS3,一些 ML 工具有很好的文档记录。但由于我没有尝试使用这些工具在 NS3 中实现某些东西,所以我不能确定。Omnet++ 对于我需要的东西来说很容易学习,更改为 NS3 似乎仍然是一个没有明确保证的负担。

我想从两个方面寻求帮助:

  1. 如果你有关于 omnetpp 和 openai-gym 或 keras 之类的优秀中间件的链接,并且你已经使用它们,请与我分享。
  2. 如果你有使用 ML 中间件的 NS3 和 ML 经验把 NS3和 openai-gym、keras 等链接起来,请分享给我。

如果我设法在线使用强化学习工具进行 omnet++ 模拟(即代理正在决定模拟运行时要采取哪些操作),我将只能完成我的 POC。

我的项目其实很复杂,但是 POC 可能很简单。我依赖这些工具是因为我没有足够的经验来构建一个复杂的系统来将一个域转换为另一个域。所以帮助会很好。

谢谢你。

推荐答案

我目前正在寻找第一次进入 ns3-gym,而且它似乎也没有那么好记录。他们主目录中的示例无法正常工作,或者至少他们的结果似乎也无法重现。

此外,目前似乎也不支持像 stable-baselines3 这样的框架,这是一种耻辱。