How to set multiple stopping or saving criteria for RL agent?
조회 수: 4 (최근 30일)
이전 댓글 표시
Hello, I wondered if it is possible to set multiple stopping or saving criteria for RL agent? E.g. Save the agent for average episode reward after 100 episodes.
Thanks in advance.
댓글 수: 0
채택된 답변
Emmanouil Tzorakoleftherakis
2023년 5월 26일
편집: Emmanouil Tzorakoleftherakis
2023년 5월 26일
This is currently not possible but keep an eye out on future releases - the development team has been working on this functionality
댓글 수: 0
추가 답변 (1개)
Lance
2023년 6월 23일
편집: Lance
2023년 6월 29일
From what I understand, the only other work around would be to write another training command. You would have to predfine this for every "checkpoint" ie. 10,20,30 episodes. The training-progress graph will continue to be actively updated. (Note I am using R2022a)
% Define all agents, observations, actions, environment, etc....
maxepisodes=500;
trainingOpts=rlMultiAgentTrainingOptions;
trainingOpts.SaveAgentCriteria="EpisodeCount";
trainingOpts.SaveAgentValue=maxepisodes
trainingStats=train([agent1,agent2],environment,trainingOpts); % Will train to max episodes and save agent
% Edit Trainingoptions to increase maxepisodes and save agent value
trainingStats(1,1).TrainingOptions.MaxEpisodes=1000;
trainingStats(1,1).TrainingOptions.SaveAgentValue=[1000,1000];
trainnigStats(1,1).TrainingOptions.StopTrainingValue=[1000,1000];
trainingStats(1,2).TrainingOptions.MaxEpisodes=1000;
trainingStats(1,2).TrainingOptions.SaveAgentValue=[1000,1000];
trainnigStats(1,2).TrainingOptions.StopTrainingValue=[1000,1000];
% Resume training -- Will train to 1000 episodes and save agent again
trainingStats2=train([agent1,agent2],environment,trainingStats) %Note you use trainingStats here not trainingOpts
Let me know if this helps!
참고 항목
카테고리
Help Center 및 File Exchange에서 Training and Simulation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!