文档帮助中心文档
在指定的环境中模拟训练好的强化学习代理
经验= sim(env,代理)
经验= sim(agent,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 MassPole: 0.1000 Length: 0.5000 MaxForce: 10 Ts: 0.0200 ThetaThresholdRadians: 0.2094 XThreshold: 2.4000 RewardForNotFalling: 1 PenaltyForFalling: -5 State: [4x1 double]
agent = rlpgagentagent with properties: AgentOptions: [1x1 rl.option.rlPGAgentOptions]
通常,您使用火车并通过模拟环境来测试训练后的智能体的性能。对于本例,使用加载的代理模拟环境。配置模拟选项,指定模拟运行100步。
火车
simOpts = rlSimulationOptions(“MaxSteps”, 100);
用于本例中使用的预定义车杆环境。你可以使用情节生成车杆系统的可视化。当您模拟环境时,这个图会自动更新,以便您可以在模拟过程中观察系统的演变。
情节
情节(env)
模拟环境。
experience = sim(env,agent,simOpts)
经验=带字段的结构:观察:[1x1结构]行动:[1x1结构]奖励:[1x1时间序列]IsDone: [1x1时间序列]SimulationInfo: [1x1结构]
输出结构经验记录从环境、行动和奖励以及模拟过程中收集的其他数据中收集到的观察结果。每个字段包含一个timeseries的对象或结构timeseries数据对象。例如,体验。行动是一个timeseries包含了在模拟的每一步中agent施加在车杆系统上的动作。
timeseries
体验。行动
ans =带字段的结构:CartPoleAction: [1x1时间序列]
模拟为示例中使用的Simulink®模型创建的环境金宝app训练多智能体执行协同任务,使用在那个例子中训练过的代理。
在MATLAB®工作区中加载代理。
负载rlCollaborativeTaskAgents
创建一个环境rlCollaborativeTask金宝appSimulink®模型,其中有两个代理块。由于两个块使用的代理(agentA而且agentB)已经在工作空间中,您不需要通过它们的观察和操作规范来创建环境。
rlCollaborativeTask
agentA
agentB
环境= rlSi金宝appmulinkEnv(“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)
智能体活动的环境,指定为以下类型的强化学习环境对象之一:
预定义MATLAB®或仿真金宝app软件®使用rlPredefinedEnv.这种环境不支持同时训练多个代理。金宝app
使用函数创建的自定义MATLAB环境,如rlFunctionEnv或rlCreateEnvTemplate.这种环境不支持同时训练多个代理。金宝app
rlFunctionEnv
rlCreateEnvTemplate
用于创建的自定义S金宝appimulink环境rl金宝appSimulinkEnv.这种环境支持同时训练多个代理。金宝app
rl金宝appSimulinkEnv
有关创建和配置环境的更多信息,请参见:
创建MATLAB强化学习环境
创建Simul金宝appink强化学习环境
当env是一个Si金宝appmulink环境,调用sim卡编译并模拟与环境相关的模型。
sim卡
要模拟的代理,指定为强化学习的代理对象,如rlACAgent或rlDDPGAgent,或作为这样的对象的数组。
rlACAgent
rlDDPGAgent
如果env是否创建多代理环境rl金宝appSimulinkEnv,将代理指定为数组。数组中代理的顺序必须与用于创建的代理顺序相匹配env.MATLAB环境不支持多代理仿真。金宝app
有关如何创建和配置用于强化学习的代理的详细信息,请参见强化学习代理.
rlSimulationOptions
的模拟选项rlSimulationOptions对象。使用此参数指定如下选项:
每次模拟的步骤数
要运行的模拟数量
详细信息请参见rlSimulationOptions.
仿真结果,作为结构或结构数组返回。数组中的行数等于指定的模拟数NumSimulations选择rlSimulationOptions.数组中的列数就是代理的数量。每个字段经验结构如下。
NumSimulations
观察
从环境中收集的观察结果,作为结构返回,其中的字段与环境中指定的观察结果相对应。每个字段包含一个timeseries的长度N+ 1,其中N为模拟步数。
要获得给定模拟步骤的当前观测值和下一个观测值,使用如下代码,假设的字段之一观察是obs1.
obs1
Obs = 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
この例の変更されたバ,ジョンがあります.編集された方の例を開きますか?
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。Webブラウザ,はMATLABコマンドをサポ,トしていません。
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您所在的位置,我们建议您选择:.
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
联系当地办事处