mlpack
Public Types | Public Member Functions | List of all members
mlpack::rl::OneStepSarsaWorker< EnvironmentType, NetworkType, UpdaterType, PolicyType > Class Template Reference

Forward declaration of OneStepSarsaWorker. More...

#include <async_learning.hpp>

Public Types

using StateType = typename EnvironmentType::State
 
using ActionType = typename EnvironmentType::Action
 
using TransitionType = std::tuple< StateType, ActionType, double, StateType, ActionType >
 

Public Member Functions

 OneStepSarsaWorker (const UpdaterType &updater, const EnvironmentType &environment, const TrainingConfig &config, bool deterministic)
 Construct one step sarsa worker with the given parameters and environment. More...
 
 OneStepSarsaWorker (const OneStepSarsaWorker &other)
 Copy another OneStepSarsaWorker. More...
 
 OneStepSarsaWorker (OneStepSarsaWorker &&other)
 Take ownership of another OneStepSarsaWorker. More...
 
OneStepSarsaWorkeroperator= (const OneStepSarsaWorker &other)
 Copy another OneStepSarsaWorker. More...
 
OneStepSarsaWorkeroperator= (OneStepSarsaWorker &&other)
 Take ownership of another OneStepSarsaWorker. More...
 
 ~OneStepSarsaWorker ()
 Clean memory.
 
void Initialize (NetworkType &learningNetwork)
 Initialize the worker. More...
 
bool Step (NetworkType &learningNetwork, NetworkType &targetNetwork, size_t &totalSteps, PolicyType &policy, double &totalReward)
 The agent will execute one step. More...
 

Detailed Description

template<typename EnvironmentType, typename NetworkType, typename UpdaterType, typename PolicyType>
class mlpack::rl::OneStepSarsaWorker< EnvironmentType, NetworkType, UpdaterType, PolicyType >

Forward declaration of OneStepSarsaWorker.

One step Sarsa worker.

Template Parameters
EnvironmentTypeThe type of the reinforcement learning task.
NetworkTypeThe type of the network model.
UpdaterTypeThe type of the optimizer.
PolicyTypeThe type of the behavior policy.

Constructor & Destructor Documentation

◆ OneStepSarsaWorker() [1/3]

template<typename EnvironmentType , typename NetworkType , typename UpdaterType , typename PolicyType >
mlpack::rl::OneStepSarsaWorker< EnvironmentType, NetworkType, UpdaterType, PolicyType >::OneStepSarsaWorker ( const UpdaterType &  updater,
const EnvironmentType &  environment,
const TrainingConfig config,
bool  deterministic 
)
inline

Construct one step sarsa worker with the given parameters and environment.

Parameters
updaterThe optimizer.
environmentThe reinforcement learning task.
configHyper-parameters.
deterministicWhether it should be deterministic.

◆ OneStepSarsaWorker() [2/3]

template<typename EnvironmentType , typename NetworkType , typename UpdaterType , typename PolicyType >
mlpack::rl::OneStepSarsaWorker< EnvironmentType, NetworkType, UpdaterType, PolicyType >::OneStepSarsaWorker ( const OneStepSarsaWorker< EnvironmentType, NetworkType, UpdaterType, PolicyType > &  other)
inline

Copy another OneStepSarsaWorker.

Parameters
otherOneStepSarsaWorker to copy.

◆ OneStepSarsaWorker() [3/3]

template<typename EnvironmentType , typename NetworkType , typename UpdaterType , typename PolicyType >
mlpack::rl::OneStepSarsaWorker< EnvironmentType, NetworkType, UpdaterType, PolicyType >::OneStepSarsaWorker ( OneStepSarsaWorker< EnvironmentType, NetworkType, UpdaterType, PolicyType > &&  other)
inline

Take ownership of another OneStepSarsaWorker.

Parameters
otherOneStepSarsaWorker to take ownership of.

Member Function Documentation

◆ Initialize()

template<typename EnvironmentType , typename NetworkType , typename UpdaterType , typename PolicyType >
void mlpack::rl::OneStepSarsaWorker< EnvironmentType, NetworkType, UpdaterType, PolicyType >::Initialize ( NetworkType &  learningNetwork)
inline

Initialize the worker.

Parameters
learningNetworkThe shared network.

◆ operator=() [1/2]

template<typename EnvironmentType , typename NetworkType , typename UpdaterType , typename PolicyType >
OneStepSarsaWorker& mlpack::rl::OneStepSarsaWorker< EnvironmentType, NetworkType, UpdaterType, PolicyType >::operator= ( const OneStepSarsaWorker< EnvironmentType, NetworkType, UpdaterType, PolicyType > &  other)
inline

Copy another OneStepSarsaWorker.

Parameters
otherOneStepSarsaWorker to copy.

◆ operator=() [2/2]

template<typename EnvironmentType , typename NetworkType , typename UpdaterType , typename PolicyType >
OneStepSarsaWorker& mlpack::rl::OneStepSarsaWorker< EnvironmentType, NetworkType, UpdaterType, PolicyType >::operator= ( OneStepSarsaWorker< EnvironmentType, NetworkType, UpdaterType, PolicyType > &&  other)
inline

Take ownership of another OneStepSarsaWorker.

Parameters
otherOneStepSarsaWorker to take ownership of.

◆ Step()

template<typename EnvironmentType , typename NetworkType , typename UpdaterType , typename PolicyType >
bool mlpack::rl::OneStepSarsaWorker< EnvironmentType, NetworkType, UpdaterType, PolicyType >::Step ( NetworkType &  learningNetwork,
NetworkType &  targetNetwork,
size_t &  totalSteps,
PolicyType &  policy,
double &  totalReward 
)
inline

The agent will execute one step.

Parameters
learningNetworkThe shared learning network.
targetNetworkThe shared target network.
totalStepsThe shared counter for total steps.
policyThe shared behavior policy.
totalRewardThis will be the episode return if the episode ends after this step. Otherwise this is invalid.
Returns
Indicate whether current episode ends after this step.

The documentation for this class was generated from the following files: