Navigation
API > API/Plugins > API/Plugins/LearningTraining > API/Plugins/LearningTraining/FSharedMemoryPPOTrainer
References
| Module | LearningTraining |
| Header | /Engine/Plugins/Experimental/LearningAgents/Source/LearningTraining/Public/LearningPPOTrainer.h |
| Include | #include "LearningPPOTrainer.h" |
| Source | /Engine/Plugins/Experimental/LearningAgents/Source/LearningTraining/Private/LearningPPOTrainer.cpp |
FSharedMemoryPPOTrainer
&40;
const FString & TaskName,
const FString & PythonExecutablePath,
const FString & SitePackagesPath,
const FString & PythonContentPath,
const FString & IntermediatePath,
const FReplayBuffer & ReplayBuffer,
const FPPOTrainerTrainingSettings & TrainingSettings,
const FPPOTrainerNetworkSettings & NetworkSettings,
const EPPOTrainerFlags TrainerFlags,
const ELogSetting LogSettings,
const ESubprocessFlags TrainingProcessFlags,
const uint16 ProcessNum,
const ESubprocessFlags MultiProcessFlags
&41;
Remarks
Creates a new Shared Memory PPO trainer
Parameters
| Name | Description |
|---|---|
| TaskName | Name of the training task - used to help identify the logs, snapshots, and other files generated by training |
| PythonExecutablePath | Path to the python executable used for training. In general should be the python shipped with Unreal Editor. |
| SitePackagesPath | Path to the site-packages shipped with the PythonFoundationPackages plugin |
| PythonContentPath | Path to the Python Content folder provided by the Learning plugin |
| IntermediatePath | Path to the intermediate folder to write temporary files, logs, and snapshots to |
| ReplayBuffer | Replay buffer used to collect experience |
| TrainingSettings | Trainer Training settings |
| NetworkSettings | Trainer Network settings |
| TrainerFlags | Flags for the trainer |
| LogSettings | Logging settings to use |
| TrainingProcessFlags | Training subprocess flags |
| ProcessNum | Number of processes to use for multi-processed experience gathering It is important to know how this multi-process training works so that it can be used correctly when you set this >1: When called with this argument set >1, the process will spawn additional processes running the same command as is currently being run but with the additional command line argument LearningProcessIdx. Once the training starts on these sub-processes, this command line argument will be used to indicate that this subprocess should only be used for gathering experience and should not start a new training process itself. This means that this will generally not work in editor (or PIE) since it will end up spawning Multiple additional editor windows. Instead, this should generally only be used in cooked, builds - and in most cases only when running headless. IMPORTANT: If you are seeding your experience generation process to make it deterministic you should use this LearningProcessIdx command line argument to change the seed of your experience gathering - otherwise each process will end up gathering identical experience! |
| MultiProcessFlags | Flags for the additional experience gathering subprocesses |