文档帮助中心文档
在指定的环境中模拟训练过的强化学习代理
经验= sim (env,代理)
env经验= sim(代理)
Env = SIM(___,Simopts)
例子
经验= sim卡(env,代理人)使用默认模拟选项在环境中模拟一个或多个强化学习代理。
经验= sim卡(env,代理人)
经验
env
代理人
经验= sim卡(代理人,env)执行与前面语法相同的模拟。
经验= sim卡(代理人,env)
env= sim卡(___,模拟)使用模拟选项对象模拟.使用模拟选项来指定参数,例如每个模拟的步骤数或要运行的模拟数。在前面语法中的任何输入参数之后使用此语法。
env= sim卡(___,模拟)
模拟
全部收缩
使用为该环境配置的代理模拟强化学习环境。对于本例,加载已经配置好的环境和代理。该环境是一个离散的车杆环境创建rlPredefinedEnv.代理是一种政策渐变(rlpgagent.) 代理人。有关在此示例中使用的环境和代理的详细信息,请参阅训练PG代理平衡车杆系统.
rlPredefinedEnv
rlpgagent.
rng (0)%的再现性负载RLSimExample.matenv
Env = CartpoledIscreteAcreacteAdeaction:重力:1 9.8000 Masscart:1 MassPole:0.1000
代理
agent = rlPGAgent with properties: AgentOptions: [1x1 rl.option.rlPGAgentOptions]
通常,您使用使用的代理商火车并模拟环境来测试训练后的agent的性能。对于本例,使用加载的代理模拟环境。配置模拟选项,指定模拟运行100步。
火车
simOpts = rlSimulationOptions ('maxsteps', 100);
对于在此示例中使用的预定义推车环境。您可以使用情节生成车杆系统的可视化。当您模拟环境时,这个情节会自动更新,以便您可以在模拟过程中观察系统的发展。
情节
情节(env)
模拟环境。
经验= sim (env,代理simOpts)
经验=结构与字段:观察:[1x1 struct]动作:[1x1 struct]奖励:[1x1 timeseries] IsDone: [1x1 timeseries] SimulationInfo: [1x1 struct]
输出结构经验记录从环境中收集的观察,行动和奖励以及在模拟期间收集的其他数据。每个字段包含一个timeseries对象或结构timeseries数据对象。例如,经验是一个timeseries在模拟的每个步骤中包含代理在推车系统上施加的动作。
timeseries
ans =.结构与字段:CartPoleAction (1 x1 timeseries):
模拟为示例中使用的Simulink®模型创建的环境万博1manbetx培训多个代理商执行协作任务,使用在那个例子中训练的特工。
在MATLAB®工作空间中加载代理。
负载rlCollaborativeTaskAgents
创造一个环境rlCollaborativeTask万博1manbetxSimulink®模型,有两个代理块。由于两个块使用的代理(agentA和agentB)已经在工作区中,您无需通过他们的观察和操作规范来创建环境。
rlCollaborativeTask
agentA
agentB
ent = rl万博1manbetxsimulinkenv(“rlCollaborativeTask”,[“rlcollaborativetask /代理A”,“rlcollaborativetask /代理b”]);
加载所需的参数rlCollaborativeTask万博1manbetxSimulink®模型运行。
rlCollaborativeTaskParams
在环境中模拟代理,保存体验xpr.
xpr
XPR = SIM(env,[Agenta Agentb]);
策划两个特工的行动。
子图(2,1,1);绘图(XPR(1).action.Forces)子图(2,1,2);绘图(XPR(2).action.Forces)
代理法案的环境指定为以下各种钢筋学习环境对象:
预定义的matlab.®或仿真万博1manbetx软件®环境创建的环境rlPredefinedEnv.这种环境并不同时支持培训多个代理。万博1manbetx
使用诸如此类的功能创建自定义MATLAB环境rlFunctionEnv或rlcreateenvtemplate..这种环境并不同时支持培训多个代理。万博1manbetx
rlFunctionEnv
rlcreateenvtemplate.
您创建的自定义Si万博1manbetxmulink环境rl万博1manbetxSimulinkEnv.这种环境在同时支持培训多个代理。万博1manbetx
rl万博1manbetxSimulinkEnv
有关创建和配置环境的详细信息,请参阅:
创建MATLAB强化学习环境
创建Simul万博1manbetxink强化学习环境
什么时候env是Simu万博1manbetxlink环境,调用sim卡编译并模拟与环境关联的模型。
sim卡
代理模拟,指定为加强学习代理对象,例如rlACAgent或rlDDPGAgent,或作为此类对象的数组。
rlACAgent
rlDDPGAgent
如果env多代理环境是用rl万博1manbetxSimulinkEnv,将代理指定为数组。数组中代理的顺序必须与用于创建的代理顺序匹配env.MATLAB环境不支持多代理模拟。万博1manbetx
有关如何为强化学习创建和配置代理的更多信息,请参阅加固学习代理人.
rlSimulationOptions
模拟选项,指定为一个rlSimulationOptions对象。使用这个参数指定选项,例如:
每个模拟的步数
要运行的模拟数
有关详细信息,请参见rlSimulationOptions.
仿真结果,作为结构或结构阵列返回。阵列中的行的行数等于所指定的模拟次数NumSimulations选择rlSimulationOptions.数组中的列数是代理的数量。每个字段经验结构如下。
NumSimulations
观察
从环境中收集的观察结果,作为一个结构返回,该结构具有与环境中指定的观察结果相对应的字段。每个字段包含一个timeseries长度N+ 1,在哪里N是模拟步骤的数量。
要获取给定模拟步骤的当前观测值和下一个观测值,请使用如下代码,假设观察是obs1..
obs1.
奥林匹克广播服务公司= getSamples (experience.Observation.obs1, 1: N);NextObs = getSamples (experience.Observation.obs1, 2: N + 1);
行动
代理计算的操作,作为与环境中指定的动作信号对应的字段的结构。每个字段包含一个timeseries长度N, 在哪里N是模拟步骤的数量。
报酬
在模拟中的每一步的奖励,作为一个返回timeseries长度N, 在哪里N是模拟步骤的数量。
结束
表示剧集终止的标志,返回为timeseries标量逻辑信号。根据配置环境时,根据您指定episode终止的条件,在每个步骤中设置此标志。当环境将此标志设置为1时,仿真终止。
模拟杂志
万博1manbetx仿真软件。SimulationOutput
在模拟过程中收集的信息,返回如下其中之一:
对于matlab环境,包含该字段的结构SimulationError.该结构包含在模拟期间发生的任何错误。
SimulationError
对于Si万博1manbetxmulink环境,a万博1manbetx仿真软件。SimulationOutput对象,该对象包含模拟数据。记录的数据包括模型配置为日志、模拟元数据和发生的任何错误的任何信号和状态。
rlSimulationOptions|火车
您有此示例的修改版本。您是否希望使用您的编辑打开此示例?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
联系您当地的办公室