强化学习(使用 TensorFlow 和 Matlab 环境)

Posted

技术标签:

【中文标题】强化学习(使用 TensorFlow 和 Matlab 环境)【英文标题】:Reinforcement Learning (Using Tensorflow and a Matlab Env) 【发布时间】:2021-06-13 20:59:56 【问题描述】:

我将 RL 代理与在 matlab 中实现的环境相结合。 所以我让 python 脚本(使用 tensorflow V2)运行,编写一个带有动作的 txt 文件,并通过系统命令调用 matlab 环境。在 matlab 中读取 txt 文件,然后在 matlab 中进行计算并写入结果 txt 文件。然后这个txt文件被python读取,py脚本进一步运行。

可行,但是计算时间相对较长,一步需要9到13秒,尽管matlab计算只需要大约1.5 -2秒。因此,训练时间非常长,非常烦人。 不幸的是,你不能将环境重写为 Python,工作量太大,编译成 c++ 也相当困难。

还有更好的方法吗? 有谁知道如何改进它? python和matlab之间有什么接口可以在这里提供帮助吗?

提前致谢!

最好的 克里斯

【问题讨论】:

【参考方案1】:

我会尝试使用 subprocess 从 python 调用 matlab 并设置 stdin/out 管道。您可以阅读有关 here 或 here 的所有信息。写入和读取文件(当然取决于您的操作系统,但通常情况下)比进程之间的管道数据花费更多的时间。请随意阅读 IPC(进程间通信),在我看来,stdio 是您的最佳选择。

【讨论】:

非常感谢!我会看看那个。 @chris_2091 不客气,让我更新 :)

以上是关于强化学习(使用 TensorFlow 和 Matlab 环境)的主要内容,如果未能解决你的问题,请参考以下文章

社区说 | TensorFlow 2 强化学习介绍

Tensorflow 强化学习 RNN 在使用 GradientTape 优化后返回 NaN

使用 JAX 构建强化学习 agent,并借助 TensorFlow Lite 将其部署到 Android 应用中

使用 JAX 构建强化学习 agent,并借助 TensorFlow Lite 将其部署到 Android 应用中

强化学习⚠️手把手带你走进强化学习 3⚠️ OPP 算法实现月球登陆器 (Tensorflow2 版)

强化学习⚠️手把手带你走进强化学习 3⚠️ OPP 算法实现月球登陆器 (Tensorflow2 版)