Improving Learning Agents

I have found another wish, which I cannot seem to implement with the latest version.

I have stated above that EndTraining() seems to actually run the training process and retrieve a new policy update. Well, it does not.

So right now it seems like there is no way to force running the training process. There also is no way to be notified when a new policy is received.

Would it be possible to add a function that will invoke the Python training process? I do not want to wait until all episode buffers are full and run the training e.g. every 20 seconds. I suggest turning a part of this function:

void ULearningAgentsTrainer::ProcessExperience(const bool bResetAgentsOnUpdate)
{
  	...

  	if (bReplayBufferFull)
	{
  	  	... << turn everything in here into its own function
  	}

  	...
}

Into its own function and expose it to blueprints.

Would it also be possible to implement an event delegate that we can hook up to that will inform us when a new policy was received? That would be nicely placed in above function.

Much love <3

Learning-Agents