Custom StopTrainingCriteria in rlTrainingOption

조회 수: 9 (최근 30일)
Muhammad Fairuz Abdul Jalal
Muhammad Fairuz Abdul Jalal 2024년 3월 3일
답변: Avadhoot 2024년 3월 12일
Hi,
In the rlTrainingOption documentation, we have
  • "Custom" — Stop training when the custom function specified in StopTrainingValue returns true.
How does it the code look like. How do we introduce function?
I would like my training to stop at average rewards of 600 and having the episodes step of 200.
Thank you in advance.

채택된 답변

Avadhoot
Avadhoot 2024년 3월 12일
If you want to specify a custom stopping criteria for training, you can do so by specifying a function handle in the "StopTrainingValue" parameter. Your function must have one input and one output. You can refer to the following piece of code to get a clearer idea.
StopTrainingValue = customFcn(trainingStats)
Here, "trainingStats" is a structure that contains the following fields, all described in the "trainStats" output argument of "train" function.
  • EpisodeIndex
  • EpisodeReward
  • EpisodeSteps
  • AverageReward
  • TotalAgentSteps
  • EpisodeQ0
  • SimulationInfo
  • EvaluationStatistics
  • TrainingOptions
The training stops when the specified function returns true.
You can specify the function as follows:
function y = customFcn(trainingStats)
y = (trainingStats.AverageReward == 600) && (trainingStats.EpisodeSteps == 200)
end
I have specified the conditions that you have stated in the question. You can modify the contents of the function according to your needs.
For more information on custom stopping criteria, look into the following documentation:
I hope this solves the issue.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Reinforcement Learning에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by