# pyrltr.simulator package¶

## pyrltr.simulator.Simulator module¶

class pyrltr.simulator.Simulator.Simulator(numberOfTrainingEpisodes, numberOfTestingEpisodes, numberOfFinalTestingEpisodes, numberOfEpochs, folder, processes, lower, higher)[source]

Base class for all simulations. Creates multiple processes and reads all the parameters. This class must be immutable. An instance of this class can run only a subset of the list of experiments (experimentalFolder/runList.dat.gz) to run. This allows for multiple simulations to run on multiple systems, without the need for a common middle ware except the file system.

Attributes:
numberOfTrainingEpisodes – the number of episodes for the training
data set
numberOfTestingEpisodes – the number of episodes for the testing data
set
numberOfEpochs – the number of epochs, or number of times to repeat
testing and training

folder – the folder in which to store/load the environmental data sets processes – the number of processes to run in parallel lower – the lower index in the list of experiments higher – the higher index in the list of experiments

runExperiment(agent)[source]

Runs a single experiment. This is learning of a single agent in only one environment.

Parameters:
agent – the agent to train in this experiment
runSimulations()[source]

Runs all specified simulations in the list. Uses the lower and higher values, if specified.

pyrltr.simulator.Simulator.runPickle(args)[source]

Can be pickeled. Necessary for the multiprocessing api.