文档帮助中心文档
从策略或值函数表示获取计算模型
模型= getModel(代表)
例子
模型= getModel (代表)返回策略或值函数表示所使用的计算模型代表.
模型= getModel (代表)
模型
代表
全部折叠
创造一个具有连续动作空间的环境,并获得其观察和动作规范。对于本示例,请加载示例中使用的环境培训DDPG Agent控制双积分系统.
加载预定义的环境。
env = rlPredefinedEnv (“DoubleIntegrator-Continuous”)
env = DoubleIntegratorContinuousAction with properties: Gain: 1 Ts: 0.1000 MaxDistance: 5 GoalThreshold: 0.0100 Q: [2x2 double] R: 0.0100 MaxForce: Inf State: [2x1 double]
获得观察和行动规范。
obsInfo = getObservationInfo (env);actInfo = getActionInfo (env);
根据环境观察和行动规范创建PPO代理。
代理= rlPPOAgent (obsInfo actInfo);
为了修改强化学习代理内部的深度神经网络,你必须首先提取行动者和批评者的表征。
演员= getActor(代理);评论家= getCritic(代理);
从演员和评论家的表征中提取深度神经网络。
actorNet = getModel(演员);criticNet = getModel(批评);
要查看网络,请使用情节函数。例如,查看参与者网络。
情节
情节(actorNet)
您可以修改演员和评论家网络,并将它们保存回代理。如果要修改网络,可以使用深层网络设计师要打开每个网络的应用程序,使用以下命令。
deepNetworkDesigner (criticNet) deepNetworkDesigner (actorNet)
在深层网络设计师,修改网络。例如,您可以向网络添加额外的层。修改网络时,不要改变返回网络的输入和输出层getModel.有关构建网络的更多信息,请参见用深度网络设计器构建网络.
getModel
要将修改后的网络结构导出到MATLAB®工作空间,请生成用于创建新网络的代码,并从命令行运行此代码。不使用导出选项深层网络设计师.有关如何生成和运行代码的示例,请参见使用深度网络设计器创建代理和使用图像观察训练.
对于本例,创建修改过的参与者和批评者网络的代码在createModifiedNetworks.m.
createModifiedNetworks.m
createModifiedNetworks
每个修改过的网络都有一个附加的fullyConnectedLayer和reluLayer在输出路径中。查看修改后的角色网络。
fullyConnectedLayer
reluLayer
情节(modifiedActorNet)
导出网络后,将网络插入到演员和评论家表示中。
演员= setModel(演员,modifiedActorNet);评论家= setModel(评论家,modifiedCriticNet);
最后,将修改过的参与者和批评者表示插入到参与者和批评者对象中。
代理= setActor(代理、演员);代理= setCritic(代理、批评);
rlValueRepresentation
rlQValueRepresentation
rlDeterministicActorRepresentation
rlStochasticActorRepresentation
策略或值函数表示,指定为下列之一:
rlValueRepresentation对象-值函数表示
rlQValueRepresentation对象- q值函数表示
rlDeterministicActorRepresentationobject -具有确定性动作的Actor表示
rlStochasticActorRepresentation随机动作的对象-行动者表示
要创建策略或值函数表示,请使用以下方法之一:
使用相应的表示对象创建表示。
使用。从代理获取现有值函数表示getCritic.
getCritic
使用。从代理获取现有策略表示getActor.
getActor
请注意
对于有多个评论家的代理,如TD3和SAC代理,必须调用getModel为每个评论家代表单独,而不是调用getModel返回的数组getCritic.
批评者= getCritic (myTD3Agent);criticNet1 = getModel(批评者(1));criticNet2 = getModel(批评者(2));
DAGNetwork
rlTable
计算模型,返回如下其中之一:
深度神经网络定义为DAGNetwork对象
rlTable对象
1 × 2单元格数组,包含自定义基函数的函数句柄和基函数参数
getActor|getCritic|setActor|setCritic|setModel
setActor
setCritic
setModel
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系