主要内容

setmodel.

设置策略或价值函数表示的计算模型

    描述

    例子

    newRep= setmodel(oldRep模型返回新的策略或value函数表示,newRep,具有与原始表示相同的配置,oldRep,以及指定的计算模型模型

    例子

    全部收缩

    创造一个具有连续动作空间的环境,并获得其观察和动作规范。对于本示例,请加载示例中使用的环境火车DDPG代理控制双积分系统

    加载预定义的环境。

    Env = Rlpredefinedenv(“DoubleIntegrator-Continuous”
    Env =双凝胶组连续性与属性:增益:1 ts:0.1000 maxdistance:5守队列:0.0100 q:[2x2 double] r:0.0100 maxiforce:inf状态:[2x1 double]

    获得观察和行动规范。

    obsInfo = getObservationInfo (env);actInfo = getActionInfo (env);

    从环境观测和动作规范中创建PPO代理。

    代理= rlppoagent(Obsinfo,Actinfo);

    为了修改强化学习代理内部的深度神经网络,你必须首先提取行动者和批评者的表征。

    Actor = GetAttor(代理);评论家=克罗里特(代理人);

    从演员和批评者表示中提取深神经网络。

    actorNet = getModel(演员);criticNet = getModel(批评);

    要查看网络,请使用阴谋函数。例如,查看参与者网络。

    情节(actorNet)

    图包含轴。轴包含Type Graphplot的对象。

    您可以修改Actor和批评网络并将其保存回代理。要修改网络,您可以使用深层网络设计师应用程序。要为每个网络打开应用程序,请使用以下命令。

    DeepNetworkDesigner(批评)DeepNetworkDesigner(ActorRornet)

    深层网络设计师,修改网络。例如,您可以向您的网络添加其他图层。修改网络时,请勿更改返回的网络的输入和输出层getModel.有关构建网络的更多信息,请参见使用深网络设计师构建网络

    要将修改的网络结构导出到MATLAB®工作区,请生成用于创建新网络的代码并从命令行运行此代码。请勿使用导出选项深层网络设计师.有关显示如何生成和运行代码的示例,请参阅使用深度网络设计器创建代理和使用图像观察训练

    对于此示例,用于创建修改的演员和批评网络的代码createModifiedNetworks.m

    CreateModifiedNetWorks.

    每个修改过的网络都有一个附加的全康统计层抵押者在他们的输出路径中。查看修改后的actor网络。

    情节(modifiedActorNet)

    图包含轴。轴包含Type Graphplot的对象。

    导出网络后,将网络插入到演员和评论家表示中。

    演员= setModel(演员,modifiedActorNet);评论家= setModel(评论家,modifiedCriticNet);

    最后,将修改过的参与者和批评者表示插入到参与者和批评者对象中。

    代理= setAttor(代理,演员);代理= setcritic(代理商,批评者);

    输入参数

    全部收缩

    策略或值函数表示,指定为下列之一:

    要创建策略或值函数表示,请使用以下方法之一。

    • 使用相应的表示对象创建表示。

    • 从代理商使用中获取现有的值函数表示透镜

    • 使用。从代理获取现有策略表示工作者

    计算模型,指定为以下内容之一:

    • 深度神经网络定义为数组对象,AlayerGraph对象,ADagnetwork.对象,或者dlnetwork.对象。的输入和输出层模型必须具有与?返回的网络相同的名称和维度getModel同样的表示。这里,输出层是在输出损耗层之前的一层。

    • rltable.对象中定义的表模型具有相同的维度newRep

    • 1 × 2单元格数组,包含自定义基函数的函数句柄和基函数参数。

    在指定新模型时,必须使用与已定义的模型相同类型的模型newRep

    笔记

    对于有多个评论家的代理,如TD3和SAC代理,必须调用setmodel.为每个评论家代表单独,而不是调用setmodel.对于返回的数组透镜

    批评者= accritic(mytd3agent);%修改批评家网络。批评(1)= setModel(批评者(1),criticNet1);评论(2)= setModel(批评者(2),criticNet2);myTD3Agent = setCritic (myTD3Agent、批评);

    输出参数

    全部收缩

    新策略或value函数表示,返回为与相同类型的表示对象oldRep.除了新的计算模型,newRep是相同的oldRep

    在R2020B中介绍