-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Batch-Solving of multiple scenarios #182
Comments
To achieve the Batch-Solving proposed above, GEM is to be vectorized. The first in implementing said vectorization is to facilitated a running example for the PMSM (environment ID: "Finite-CC-PMSM-v0") to get an impression of the performance. In order for that to work a rather large amount of GEM has to be vectorized already. That is:
For the extent off the vectorization the following is proposed / implemented:
|
The way a recurrent NN in most deep learning toolboxes is trained is via mini-batch training on several trajectories where the input tensor has the shape
(#trajectories, #timesteps, #features).
In order for a RNN to work with GEM, GEM should be able to process the current observation/input of several scenarios/trajectories/profiles at once, preferrably vectorized as opposed to sequential processing.
Such a feature would open up GEM for the use with agents that do not retrieve observations from a memory/experience replay buffer, but rather learn directly on the go of decision making yet on multiple scenarios at once.
Practically, the amount of trajectories is equal to the batch size that fits into memory (couple thousands/millions in case of <10 features).
A short look on SciPy's odeint reveals that SciPy's integrators do provide such an interface, so GEM could be updated accordingly.
The text was updated successfully, but these errors were encountered: