-
Notifications
You must be signed in to change notification settings - Fork 1
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
Development | Example driven approach #18
Comments
That's so true. I'll add some experimental support at JuliaReinforcementLearning/ReinforcementLearningEnvironments.jl#70 so most existing environments should work with just a convert function. And because API in ReinforcementLearningBase.jl is not re-exported in ReinforcementLearningEnvironments.jl, there won't be API conflicts. |
Unfortunately, my time is also limited to nights and weekends this summer for open-source, and currently I am coordinating some other Julia projects. I want to improve FluxML/Gym.jl. I am going try to get in touch with the maintainers and see if I can turn it into a usage example. |
I haven't worked on that package for some time, but when I was working on it, the point was
EDIT: Though at this point, it may not be worth updating that repo |
Ah, that's cool. We have rendering (using GR) for some envs (e.g. cartpole, but the code is a bit ugly (I am to blame 😄) and there is no option yet to just return the RGB array... |
@findmyway That would be really great! What would actually be more useful for me (in teaching) is the other direction: making all of the algorithms that you guys have developed work with environments implemented using this interface. |
That's definitely not a big problem. For those in https://github.com/JuliaReinforcementLearning/ReinforcementLearningZoo.jl They are not tight with any specific environments. The only work is to extend the |
A couple things I've learned when developing packages for research:
So, in light of 2, I think we should try to add to the interface primarily as we come upon concrete examples of things we need. I have created the usage-example tag for this purpose. Please add your desired use examples and associated needs so that we can discuss them and add the functionality.
Also, I have fortunately had some extra time lately to help get this package started, but unfortunately that will usually not be the case. I'm hoping that we can keep the package simple and stable enough* that we can all weigh in on decisions, but, for it to be successful, a few people will have to take it and other associated packages under their wing and give it some loving care 😄 , so don't be afraid to take on some part that you want to improve and make it yours!
*Note: In my mind, keeping the package simple means limiting the number and complexity of concepts you have to understand; it doesn't necessarily mean keeping the number of interface functions very small. We should not be too afraid of adding a new interface function if it is needed and does not conflict with the rest of the interface.
The text was updated successfully, but these errors were encountered: