Set gpu option for rlPPOAgent actor

Hi,
Is there a way to set the gpu option for an rlPPOAgent actor?
agent = rlPPOAgent(obsInfo,actInfo,agentOpts);
critic = getCritic(agent);
critic.Options.LearnRate = 1e-3;
critic.Options.UseDevice = 'gpu';
agent = setCritic(agent,critic);
I was able to set the critic to gpu but need to know how to set it for the actor. agentOpts is rlPPOAgentOptions, which doesn't take UseDevice.
Thanks!

답변 (1개)

Emmanouil Tzorakoleftherakis
Emmanouil Tzorakoleftherakis 2021년 3월 11일

0 개 추천

What you have specified is sufficient for the critic. If you do the same for the actor you are all set - there is no additional param for the agent overall (actor and critic are two key components of the agent after all)

댓글 수: 7

John Doe
John Doe 2021년 3월 11일
Sorry, I meant this question for the actor, not the agent.
John Doe
John Doe 2021년 3월 11일
How would I do the same for the actor?
John Doe
John Doe 2021년 3월 11일
The confusion is because there is no actor definition at all in this:
agentOpts = rlPPOAgentOptions(...
'ExperienceHorizon',2000,...
'ClipFactor',0.2,... % how much change is allowed each step
'EntropyLossWeight',0.01,...
'MiniBatchSize',1000,...
'NumEpoch',3,...
'AdvantageEstimateMethod','gae',...
'GAEFactor',0.95,...
'SampleTime',0.1,...
'DiscountFactor',0.9);
agent = rlPPOAgent(obsInfo,actInfo,agentOpts);
critic = getCritic(agent);
critic.Options.LearnRate = 0.1;
critic.Options.UseDevice = 'gpu';
agent = setCritic(agent,critic);
John Doe
John Doe 2021년 3월 11일
this is what it's showing during training:
John Doe
John Doe 2021년 3월 16일
if this isn't possible, can we generate the actor net definition and modify things in that ourselves? I'd like to change the learn rate for it also, which might be another buried option.
John Doe
John Doe 2021년 3월 25일
I could use some guidance here to run fully on GPU. My env runs pretty slow right now
I believe I already answered this question - for the actor you need to do the same thing you did for the critic.
actor = getActor(agent);
actor.Options.UseDevice = 'gpu';
agent = setCritic(agent,actor);
If the environment itse;f is simulating slowly GPUs will not help as much. You need to check your model and identify what's slow

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Policies and Value Functions에 대해 자세히 알아보기

제품

릴리스

R2020b

질문:

2021년 3월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by