How do I properly substitute rlRepresentation with rlValueRepresentation, rlQValueRepresentation, rlDeterministicActorRepresentation, and rlStochasticActorRepresentation?
3 views (last 30 days)
Show older comments
I am using MATLAB r2020a where rlRepresentation is "not recommended." As a result, I am forced to substitute it with the criritics or actors in the following compatibility guide (https://www.mathworks.com/help/reinforcement-learning/ref/rlrepresentation.html#mw_a6277225-fecf-4d97-9549-1fc4799bf5b6). I tried replacing rlRepresentation with rlValueRepresentation, rlQValueRepresentation, rlDeterministicActorRepresentation, and rlStochasticActorRepresentation (though I left rlRepresentationOptions as is where it came up). They all resulted in errors, and rlValueRepresentation and rlStochasticActorRepresentation had the fewest (and the same) errors:
Error using rlStochasticActorRepresentation (line 93)
Too many input arguments.
Error in createDDPGNetworks (line 51)
critic = rlStochasticActorRepresentation (criticNetwork,criticOptions, ...
Since both this critic and actor have the same error, I think it might have something to do with rlRepresentationOptions since it gives properties to the actors or critics (as far as I understand).
For reference, I am trying to emulate this project (https://www.youtube.com/watch?v=6DL5M9b2j6I) in MATLAB r2020a.
Any help is appreciated.
2 Comments
Answers (4)
Emmanouil Tzorakoleftherakis
on 17 Jul 2020
It would be helpful if you pasted the exact MATLAB code you are typing to see what the problem is. I suspect you simply changed the method name, which is why you get the error you are seeing. Have a look at the documentation page for the respective method you want to use (rlValueRepresentation etc) and make sure the order and number of arguments matches the doc.
0 Comments
Salma Khaled
on 5 Aug 2021
- Create an actor using an rlDeterministicActorRepresentation object.
- Create a critic using an rlQValueRepresentation object
https://www.mathworks.com/help/reinforcement-learning/ug/ddpg-agents.html
0 Comments
ali
on 14 Nov 2023
Hi, I have the same problem. you must use "rlQValueRepresentation" for critic and "rlDeterministicActorRepresentation" for the actor. Also, the option for each network must be in last option of the function.
If you are using RL in biped robot example, change the line51 with the below code:
critic = rlQValueRepresentation(criticNetwork,env.getObservationInfo,...
env.getActionInfo,'Observation',{'observation'},...
'Action',{'action'},criticOptions);
and line 88 for actor:
actor = rlDeterministicActorRepresentation(actorNetwork,env.getObservationInfo,...
env.getActionInfo,'Observation',{'observation'},...
'Action',{'ActorTanh1'},actorOptions);
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!