文档帮助中心文档
在指定环境中模拟培训的钢筋学习代理
经验= sim (env,代理)
env经验= sim(代理)
env = sim卡(___simOpts)
例子
经验= sim卡(env,代理)使用默认模拟选项在环境中模拟一个或多个强化学习代理。
经验= sim卡(env,代理)
经验
env
代理
经验= sim卡(代理,env)执行与先前语法相同的模拟。
经验= sim卡(代理,env)
env= sim卡(___,simOpts)使用模拟选项对象simOpts.使用模拟选项来指定参数,例如每个模拟的步骤数或要运行的模拟数。在前面语法中的任何输入参数之后使用此语法。
env= sim卡(___,simOpts)
simOpts
全部折叠
使用为该环境配置的代理模拟强化学习环境。对于本例,加载已经配置好的环境和代理。该环境是一个离散的车杆环境创建rlPredefinedEnv.代理是一个策略梯度(rlPGAgent)代理。有关本示例中使用的环境和代理的详细信息,请参见火车PG代理可以平衡车杆系统.
rlPredefinedEnv
rlPGAgent
rng (0)%的再现性负载RLSimExample.matenv
env = CartPoleDiscreteAction with properties: Gravity: 9.8000 MassCart: 1 maspole: 0.1000 Length: 0.5000 MaxForce: 10 Ts: 0.0200 thetathresholdraites: 0.2094 XThreshold: 2.4000 RewardForNotFalling: 1 PenaltyForFalling: -5 State: [4x1 double]
Agent = RLPGagent具有属性: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包含了在仿真的每一步中agent对车杆系统施加的作用。
timeseries
体验。行动
ans =结构体字段:cartpoleaction:[1x1倍]
模拟为示例中使用的Simulink®模型创建的环境金宝app训练多个agent执行协作任务,使用在那个例子中训练的特工。
在MATLAB®工作区中加载代理。
负载rlCollaborativeTaskAgents
创造一个环境rlCollaborativeTask金宝appSimulink®模型,其中有两个代理块。由于两个区块所使用的代理(agentA和agentB)已经在工作区中,您不需要通过它们的观察和操作规范来创建环境。
rlCollaborativeTask
agentA
agentB
env = rl金宝appSimulinkEnv (“rlCollaborativeTask”,[“rlCollaborativeTask /代理”,“B rlCollaborativeTask /代理”]);
方法所需的参数rlCollaborativeTask金宝appSimulink®模型运行。
rlCollaborativeTaskParams
在环境中模拟代理,保存体验xpr.
xpr
xpr = sim(env,[agentA agentB]);
策划两个特工的行动。
子图(2,1,1);绘图(XPR(1).action.Forces)子图(2,1,2);绘图(XPR(2).action.Forces)
agent所处的环境,指定为下列强化学习环境对象之一:
一个预定义的MATLAB®或仿真金宝app软件®所创造的环境中使用rlPredefinedEnv.这种环境不支持同时训练多个代理。金宝app
一个自定义MATLAB环境,您创建的函数,如rlfunctionenv.或者rlCreateEnvTemplate.这种环境不支持同时训练多个代理。金宝app
rlfunctionenv.
rlCreateEnvTemplate
您使用创建的自定义金宝appSimulink环境rl金宝appSimulinkEnv.这种环境支持同时训练多个agent。金宝app
rl金宝appSimulinkEnv
有关创建和配置环境的详细信息,请参见:
创建MATLAB强化学习环境
创建Simul金宝appink强化学习环境
当env是Simu金宝applink环境,调用sim卡编译并模拟与环境相关联的模型。
sim卡
要模拟的agent,指定为强化学习的agent对象,如rlACAgent或者rlDDPGAgent,或作为此类对象的数组。
rlACAgent
rlDDPGAgent
如果env多代理环境是用rl金宝appSimulinkEnv,将代理指定为数组。数组中代理的顺序必须与用于创建的代理顺序匹配env.MATLAB环境不支持多智能体仿真。金宝app
有关如何创建和配置用于强化学习的代理的详细信息,请参见强化学习代理.
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标量逻辑信号的。这个标志是由环境在每个步骤中设置的,根据您在配置环境时为情节终止指定的条件。当环境将此标志设置为1时,模拟终止。
SimulationInfo
金宝app仿真软件。SimulationOutput
在模拟过程中收集的信息,返回如下其中之一:
对于MATLAB环境,一个包含域的结构SimulationError.此结构包含在模拟过程中发生的任何错误。
SimulationError
对于Si金宝appmulink环境,a金宝app仿真软件。SimulationOutput对象,该对象包含模拟数据。记录的数据包括模型配置为日志、模拟元数据和发生的任何错误的任何信号和状态。
RlsimulationOptions.|火车
您已经有了abgeänderte版本死亡Beispiels。Möchten您是谁? Änderungen öffnen?
您有一个连接到MATLAB-Befehl entspricht:
Führen Sie den Befehl durch Eingabe in das MATLAB-Befehlsfenster aus。Webbrowser unterstützen keine MATLAB-Befehle。
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系