-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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
[RLlib; Offline RL] Make data pipeline better configurable and tuneable for users. #46777
[RLlib; Offline RL] Make data pipeline better configurable and tuneable for users. #46777
Conversation
…class into separate files. Signed-off-by: simonsays1980 <[email protected]>
…gorithmConfig' and 'OfflineData' to make the data pipeline better configurable and tuneable. Tested single-and multi-learner sertups with BC. Signed-off-by: simonsays1980 <[email protected]>
@@ -2470,6 +2499,8 @@ def offline_data( | |||
self.input_read_method_kwargs = input_read_method_kwargs | |||
if input_read_schema is not NotProvided: | |||
self.input_read_schema = input_read_schema | |||
if prelearner_class is not NotProvided: | |||
self.prelearner_class = prelearner_class |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wait, where do these get assigned?
input_read_method_kwargs
map_batches_kwargs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Up in the file. Where all attributes get default values.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, sorry, didn't see this. I think b/c it hadn't been changed in this PR. All good.
|
||
class OfflinePreLearner: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for separating these!
Co-authored-by: Sven Mika <[email protected]> Signed-off-by: simonsays1980 <[email protected]>
Signed-off-by: simonsays1980 <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me now! Thanks @simonsays1980 !! :)
…n class. Signed-off-by: simonsays1980 <[email protected]>
…defined. Signed-off-by: simonsays1980 <[email protected]>
Why are these changes needed?
The new
Offline RL API
makes direct use ofray.data.Datasets
and theremap_batches
anditer_batches
methods to transform and iterate over batches. These methods allow for configuration to tune the data pipeline. This PR proposes a way for users to easily pass arguments to these methods in the ´AlgorithmConfig` to tune their data pipelines.In addition the
OfflinePreLearner
is moved to its own file from which users can override its behavior in its_map_episodes
and__call__
method to define in detail how their data should be transferred to a batch/episodes.Furthermore, some bug fixes have been made.
Related issue number
Checks
git commit -s
) in this PR.scripts/format.sh
to lint the changes in this PR.method in Tune, I've added it in
doc/source/tune/api/
under thecorresponding
.rst
file.