强化学习(使用 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 强化学习 RNN 在使用 GradientTape 优化后返回 NaN
使用 JAX 构建强化学习 agent,并借助 TensorFlow Lite 将其部署到 Android 应用中
使用 JAX 构建强化学习 agent,并借助 TensorFlow Lite 将其部署到 Android 应用中