How to give initial observations for RL if multiple ObservationInfo are used?

10 Ansichten (letzte 30 Tage)
Hello everyone, I want to use the RL toolbox in my work. In my custom environment, it has several observations that are in rlNumericSpec, and others are in rlFiniteSetSpec.
I understand that in order to create an ObservationInfo, I can use:
Observation(1) = rlNumericSpec([4 1]);
Observation(2) = rlFiniteSetSpec([1 2 3]);
...
However, in my custom reset (as well as step) function, how should I return the observation, so that the system can recognized it?
  1 Kommentar
Valentyna Afanasenko
Valentyna Afanasenko am 18 Okt. 2021
Hi!
obsInfo(1) = rlNumericSpec([m n]); %
obsInfo(2) = rlNumericSpec([l k]);
In ResetFunction:
e.g. initialize by 0
LoggedSignal.State{1} = zeros(m,n);
LoggedSignal.State{2} = zeros(l,k);
InitialObservation = LoggedSignal.State;
In StepFunction:
LoggedSignal.State{1}(1:m,1:n)= stepObserv1;
LoggedSignal.State{2}(1:l,1:k)= stepObserv2;
NextObs = LoggedSignals.State;

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Madhav Thakker
Madhav Thakker am 9 Feb. 2021
Hi Wing Yin Ng,
I understand you want to write custom reset & step function. This MATLAB example talks about how to do the same. Note that you'll have to keep these functions in your current working folder or on the MATLAB path as mentioned here.
Hope this helps.

Kategorien

Mehr zu Environments finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by