主要内容

validateEnvironment

验证自定义强化学习环境

描述

例子

validateEnvironment (env验证强化学习环境。此函数在以下情况下有用:

  • 您正在使用一个自定义环境,您为该环境提供了自己的步骤和重置函数,例如使用rlCreateEnvTemplate

  • 您正在使用从Simulink创建的环境金宝app®模型使用rl金宝appSimulinkEnv

validateEnvironment重置环境,生成初始观察和操作,并模拟环境进行一到两个步骤(参见算法).如果在这些操作期间没有错误,则验证成功,并且validateEnvironment没有返回结果。如果出现错误,这些错误会出现在MATLAB中®命令窗口。使用这些错误来确定观察规范、操作规范、自定义函数或Simulink模型中需要更改的内容。金宝app

例子

全部折叠

这个例子展示了如何验证Simulink环境。金宝app

的创建和验证环境rlwatertank模型,它表示一个包含强化学习代理的控制系统(关于该模型的详细信息,请参见创建Simul金宝appink环境和训练代理.)

open_system (“rlwatertank”

为环境创建观察和行动规范。

obsInfo = rlNumericSpec([3 1],...“LowerLimit”,[-inf -inf 0]',...“UpperLimit”,[inf inf inf]');obsInfo。Name =“观察”;obsInfo。描述=积分误差,误差和测量高度;numObservations = obsInfo.Dimension(1);actInfo = rlNumericSpec([1 1]);actInfo。Name =“流”;numActions = nummel (actInfo);

从模型创建一个环境。

环境= rlSi金宝appmulinkEnv(“rlwatertank”,“rlwatertank / RL代理”、obsInfo actInfo);

现在你用validateEnvironment检查模型配置是否正确。

validateEnvironment(env)使用rl.env时出错。金宝appSimulink环境验证需要在MATLAB基本工作空间或链接到模型的数据字典中有一个代理。在Simulink模型中指定代理。金宝app

validateEnvironment尝试编译模型、初始化环境和代理以及模拟模型。在这种情况下,RL代理块被配置为使用名为代理,但MATLAB®工作空间中不存在这样的变量。因此,该函数返回一个指示问题的错误。

中详细描述的命令为该系统创建适当的代理创建Simul金宝appink环境和训练代理的例子。在本例中,从rlWaterTankDDPGAgent.mat文件。

负载rlWaterTankDDPGAgent

现在,运行validateEnvironment一次。

validateEnvironment (env)

输入参数

全部折叠

要验证的环境,指定为强化学习环境对象,例如:

  • 用于创建的自定义MATLAB环境rlCreateEnvTemplate.在这种情况下,validateEnvironment检查环境模拟期间生成的观测值和操作在大小、数据类型和值范围上与观测规范和操作规范一致。它还检查您的自定义一步而且重置函数运行时没有错误。(当您使用rlFunctionEnv,软件运行validateEnvironment自动)。

  • 用于创建的自定义S金宝appimulink环境rl金宝appSimulinkEnv.如果使用Simulink环金宝app境,还必须定义一个代理并与RL代理块在模型中。对于Simu金宝applink模型,validateEnvironment检查模型是否编译和运行无误。该函数不会破坏模型。

有关创建和配置环境的更多信息,请参见:

算法

全部折叠

validateEnvironment通过运行环境的简短模拟,并确保生成的信号与创建环境时提供的观察和操作规范相匹配。

MATLAB环境

对于MATLAB环境,验证包括以下步骤。

  1. 方法重置环境重置与环境相关的函数。

  2. 获取第一个观测值,检查是否与观测规范中的尺寸、数据类型、取值范围一致。

  3. 根据操作规范中的维度、数据类型和值范围生成测试操作。

  4. 方法模拟一个步骤的环境一步与环境相关的函数。

  5. 获取新的观测信号,检查是否与观测规范中的尺寸、数据类型、取值范围一致。

如果这些操作中的任何一个产生错误,validateEnvironment返回错误。如果validateEnvironment没有返回结果,则验证成功。

金宝app环境

对于Si金宝appmulink环境,验证包括以下步骤。

  1. 重置环境。

  2. 模拟两个时间步长的模型。

如果这些操作中的任何一个产生错误,validateEnvironment返回错误。如果validateEnvironment没有返回结果,则验证成功。

validateEnvironment在不破坏模型的情况下执行这些步骤,并将所有模型参数保持在调用函数时的状态。

版本历史

在R2019a中引入