createIntegratedEnv

Создайте модель Simulink для обучения с подкреплением, с помощью эталонной модели в качестве среды

Описание

env = createIntegratedEnv(refModel,newModel) создает модель Simulink® с именем, заданным newModel и возвращает объект среды обучения с подкреплением, env, для этой модели. Новая модель содержит блок RL Agent и использует эталонную модель refModel как среда обучения с подкреплением для обучения агент задан этим блоком.

[env,agentBlock,obsInfo,actInfo] = createIntegratedEnv(___) возвращает блок path в блок RL Agent в новой модели и спецификациях данных о наблюдении и действии для эталонной модели, obsInfo и actInfo, соответственно.

[___] = createIntegratedEnv(___,Name,Value) создает модель и интерфейс среды использование порта, наблюдения, и информация о действии задала использование одного или нескольких Name,Value парные аргументы.

Входные параметры

свернуть все

Имя эталонной модели, заданное как строка или вектор символов. Новая модель Simulink использует эту эталонную модель в качестве динамической модели среды для обучения с подкреплением.

Новое имя модели, заданное как строка или вектор символов. createIntegratedEnv создает модель Simulink с этим именем, но не сохраняет модель.

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'IsDonePortName',"stopSim" устанавливает stopSim порт эталонной модели как источник isdone сигнал.

Имя выходного порта наблюдения эталонной модели, заданное как разделенная запятой пара, состоящая из 'ObservationPortName' и строка или вектор символов. Задайте ObservationPortName когда именем выходного порта наблюдения эталонной модели не является "observation".

Имя входного порта действия эталонной модели, заданное как разделенная запятой пара, состоящая из 'ActionPortName' и строка или вектор символов. Задайте ActionPortName когда именем входного порта действия эталонной модели не является "action".

Премиальное имя выходного порта эталонной модели, заданное как разделенная запятой пара, состоящая из 'RewardPortName' и строка или вектор символов. Задайте RewardPortName когда именем премиального выходного порта эталонной модели не является "reward".

Эталонная модель сделанное имя выходного порта флага, заданное как разделенная запятой пара, состоящая из 'IsDonePortName' и строка или вектор символов. Задайте IsDonePortName когда именем сделанного выходного порта флага эталонной модели не является "isdone".

Имена наблюдения соединяют шиной листовые элементы, для которых можно создать спецификации, заданные как массив строк. Чтобы создать спецификации наблюдения для подмножества элементов в объекте шины Simulink, задайте BusElementNames. Если вы не задаете BusElementNames, спецификация данных создается для каждого листового элемента в шине.

ObservationBusElementNames применимо только, когда выходной порт наблюдения является сигналом шины.

Пример: 'ObservationBusElementNames',["sin" "cos"] создает спецификации для элементов шины наблюдения с именами "sin" и "cos".

Конечные значения для дискретных элементов спецификации наблюдения, указанных как разделенная запятой пара, состоящая из 'ObservationDiscreteElements' и массив ячеек пар "имя-значение". Каждая пара "имя-значение" состоит из имени элемента и массива дискретных значений.

Если выходной порт наблюдения эталонной модели:

  • Сигнал шины, задайте имя одного из листовых элементов шины, заданной в ObservationBusElementNames

  • Сигнал нешины, задайте имя порта наблюдения, как задано ObservationPortName

Заданные дискретные значения должны быть castable к типу данных заданного сигнала наблюдения.

Если вы не задаете дискретные значения для элемента спецификации наблюдения, элемент непрерывен.

Пример: 'ObservationDiscretElements',{'observation',[-1 0 1]} указывает, что дискретные значения для сигнала наблюдения нешины с портом по умолчанию называют observation.

Пример: 'ObservationDiscretElements',{'gear',[-1 0 1 2],'direction',[1 2 3 4]} задает дискретные значения для 'gear' и 'direction' листовые элементы сигнала действия шины.

Конечные значения для дискретных элементов спецификации действия, указанных как разделенная запятой пара, состоящая из 'ActionDiscreteElements' и массив ячеек пар "имя-значение". Каждая пара "имя-значение" состоит из имени элемента и массива дискретных значений.

Если входной порт действия эталонной модели:

  • Сигнал шины, задайте имя листового элемента шины

  • Сигнал нешины, задайте имя порта действия, как задано ActionPortName

Заданные дискретные значения должны быть castable к типу данных заданного сигнала действия.

Если вы не задаете дискретные значения для элемента спецификации действия, элемент непрерывен.

Пример: 'ActionDiscretElements',{'action',[-1 0 1]} указывает, что дискретные значения для сигнала действия нешины с портом по умолчанию называют 'action'.

Пример: 'ActionDiscretElements',{'force',[-10 0 10],'torque',[-5 0 5]} задает дискретные значения для 'force' и 'torque' листовые элементы сигнала действия шины.

Выходные аргументы

свернуть все

Интерфейс среды обучения с подкреплением, возвращенный как SimulinkEnvWithAgent объект.

Блок path к агенту блокируется в новой модели, возвращенной как вектор символов. Чтобы обучить агента в новой модели Simulink, необходимо создать агента и задать имя агента в блоке RL Agent, обозначенном agentBlock.

Для получения дополнительной информации о создании агентов смотрите Агентов Обучения с подкреплением.

Спецификации данных о наблюдении, возвращенные как одно из следующего:

  • rlNumericSpec объект для одной непрерывной спецификации наблюдения

  • rlFiniteSetSpec объект для одной дискретной спецификации наблюдения

  • Массив спецификации данных возражает для нескольких спецификаций

Спецификации данных о действии, возвращенные как одно из следующего:

  • rlNumericSpec объект для одной непрерывной спецификации действия

  • rlFiniteSetSpec объект для одной дискретной спецификации действия

  • Массив спецификации данных возражает для нескольких спецификаций действия

Введенный в R2019a