查看: 486|回复: 0|关注: 0

[未答复] 强化学习工具包使用自定义函数创建环境中的Step函数问题

[复制链接]

新手

15 麦片

财富积分


050


27

主题

58

帖子

0

最佳答案
  • 关注者: 1
发表于 2020-5-24 19:16:41 | 显示全部楼层 |阅读模式
教程上创建用自定义函数环境是这样的:
env = rlFunctionEnv(ObservationInfo,ActionInfo,'myStepFunction','myResetFunction');
我编写了函数:
function [InitialObservation, LoggedSignal] = myResetFunction()

function [NextObs,Reward,IsDone,LoggedSignals] = myStepFunction(Action,LoggedSignals)
但运行后报错:
错误使用 rl.env.MATLABEnvironment/validateEnvironment (line 42)
There was an error evaluating the step function.

出错 rl.env.rlFunctionEnv (line 74)
            validateEnvironment(this);

出错 rlFunctionEnv (line 45)
env = rl.env.rlFunctionEnv(varargin{:});

出错 main (line 12)
env = rlFunctionEnv(ObservationInfo,ActionInfo,'myStepFunction','myResetFunction');

原因:
    此类型的变量不支持使用花括号进行索引。

把单引号去掉以后再运行:env = rlFunctionEnv(ObservationInfo,ActionInfo,myStepFunction,myResetFunction);
又报错:
输入参数的数目不足。
出错 myStepFunction (line 21)
para_rho1 = Action(1);


也就是说,我的Action没有赋值。但是教程中并没有讲到给
function [NextObs,Reward,IsDone,LoggedSignals] = myStepFunction(Action,LoggedSignals)
中的Action变量赋值的事啊。。。。难道还要编写其他程序?

我主要参考的是:Create MATLAB Environment Using Custom Functions
https://www.mathworks.com/help/r ... ment-in-matlab.html
回复主题 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表