Reaching observation data and pass them to the learning process
3 次查看(过去 30 天)
显示 更早的评论
Hi everyone,
I'm wondering if I can have access to observation data and take actions based on the first observed observations in every time step.
Something that I need is like here:
like here:
obsInfo = rlNumericSpec([8 1]);
if obsInfo.input(1)<0
actInfo= rlNumericSpec([4 1],...
LowerLimit=[-inf -inf -inf -inf]',...
UpperLimit=[0 0 0 0]');
obsInfo.input(1)>0
actInfo= rlNumericSpec([4 1],...
LowerLimit=[0 0 0 0]',...
UpperLimit=[inf inf inf inf]');
else
end
采纳的回答
Emmanouil Tzorakoleftherakis
2024-3-21
编辑:Emmanouil Tzorakoleftherakis
2024-3-21
In general, you cannot change the observation/action space definition once they are defined. That said, it seems to me that what you are trying to accomplish can be done in a different way. Depending on whether your environment is in MATLAB or Simulink, you can check whether the last observation was positive or negative and adjust the agent's output as needed.
If you are using an off-policy agent, it would be a good idea to also make sure this adjustment is reflected in the experience buffer as well. You can use, e.g. the last action port for that.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!