13 #ifndef MLPACK_METHODS_RL_TRAINING_CONFIG_HPP 14 #define MLPACK_METHODS_RL_TRAINING_CONFIG_HPP 25 targetNetworkSyncInterval(100),
31 doubleQLearning(false),
37 size_t updateInterval,
38 size_t targetNetworkSyncInterval,
40 size_t explorationSteps,
45 bool noisyQLearning) :
46 numWorkers(numWorkers),
47 updateInterval(updateInterval),
48 targetNetworkSyncInterval(targetNetworkSyncInterval),
50 explorationSteps(explorationSteps),
53 gradientLimit(gradientLimit),
54 doubleQLearning(doubleQLearning),
55 noisyQLearning(noisyQLearning)
70 {
return targetNetworkSyncInterval; }
125 size_t updateInterval;
131 size_t targetNetworkSyncInterval;
144 size_t explorationSteps;
162 double gradientLimit;
168 bool doubleQLearning;
double & Discount()
Modify the discount rate for future reward.
size_t ExplorationSteps() const
Get the exploration steps.
Linear algebra utility functions, generally performed on matrices or vectors.
bool NoisyQLearning() const
Get the indicator of noisy q-learning.
size_t NumWorkers() const
Get the amount of workers.
size_t StepLimit() const
Get the maximum steps of each episode.
size_t TargetNetworkSyncInterval() const
Get the interval for syncing target network.
size_t & StepLimit()
Modify the maximum steps of each episode.
size_t & TargetNetworkSyncInterval()
Modify the interval for syncing target network.
size_t UpdateInterval() const
Get the update interval.
double Discount() const
Get the discount rate for future reward.
size_t & NumWorkers()
Modify the amount of workers.
bool DoubleQLearning() const
Get the indicator of double q-learning.
size_t & ExplorationSteps()
Modify the exploration steps.
TrainingConfig(size_t numWorkers, size_t updateInterval, size_t targetNetworkSyncInterval, size_t stepLimit, size_t explorationSteps, double stepSize, double discount, double gradientLimit, bool doubleQLearning, bool noisyQLearning)
bool & DoubleQLearning()
Modify the indicator of double q-learning.
double GradientLimit() const
Get the limit of update gradient.
size_t & UpdateInterval()
Modify the update interval.
double & GradientLimit()
Modify the limit of update gradient.
double StepSize() const
Get the step size of the optimizer.
double & StepSize()
Modify the step size of the optimizer.
bool & NoisyQLearning()
Modify the indicator of double q-learning.