部署RL Agent

7次观看(过去30天)
马特
马特 2021年7月2日
你好!
我正在使用Matlab 2021a设计一个强化学习代理。我正在培训一系列特工,(希望)我即将被部署。然而,我有几个问题还没有找到直接的答案。
首先,我可以在Simulink Real-Time中部署RL代理吗?万博1manbetx 我有一个可用的Speedgoat,我已经做了大量的工作,在Matlab中关闭我的代理的硬件循环,但我还没有看到任何直截了当地说我可以在Simulink中部署它的东西。万博1manbetx我看到 在这里 你可以在Simulink中部署CUDA代码,但我不太理解这个过程。万博1manbetx我不确定它是否适用于这种情况,或者是否有一种更直接的方式在Simulink中部署代理。万博1manbetx
第二,如果我不能在Simulink中部署RL代理,万博1manbetx 我还可以在哪些平台上部署RL代理? 我更喜欢在Matlab或Simulink中部署代理,因为我在Matlab中做过很多硬件工作,但我万博1manbetx不确定如果Simulink不是一个选项该怎么办。我知道我可以假设生成C和CUDA代码,但我不确定下一步是什么。
最后,我显然在这方面缺乏一些重要的知识——原来我是一名电气工程师,而不是计算机科学家! 我应该使用什么资源来进一步理解这一点? 我宁愿知道自己需要做什么,也不愿向别人求助。我真的不了解CUDA,也不知道在实际硬件上部署程序,我不知道去哪里找……事实证明,这是一个非常陡峭的学习曲线。
谢谢!

接受的答案

了戴维斯
了戴维斯 2021年8月2日
嗨,马修
RL工具箱有一个特性: generatePolicyFunction -它将从RL代理对象生成一个静态的MATLAB策略函数。这个函数可以放在MATLAB函数块中进行代码生成。
注1,Speedgoat平台不支持针对任何第三方深度学习库进行编译,因此模型参数万博1manbetx DLTargetLibrary 限制为“none”。这限制了哪些层可以用于部署。你可以通过下面的命令查看哪些内置层被支持:万博1manbetx
coder.getDeepLearningLayers (“TargetLibrary”“没有”
注2、自定义层(如RL scalingLayer) 万博1manbetx由“none”目标库支持。
希望这能有所帮助
画了
2的评论
菲利普Poloczek
菲利普Poloczek 2022年3月6日
你好,
我要用一个训练有素的探员对付硬件。训练进行得很顺利,我有一个在-9到9之间的操作空间,但是如果我使用generatePolicyFunction(),那么结果evaluatePolicy()只返回-1到1之间的值。你有解决办法吗?

登录发表评论。

更多答案(0)