-
Notifications
You must be signed in to change notification settings - Fork 183
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
ALE 0.6 #49
ALE 0.6 #49
Conversation
Looks great! Looks like gym doesn't select the version of atari py very well and may be broken by this upgrade. @pzhokhov what do you think? |
@christopherhesse what would be blocking from Gym's side? There aren't any major changes in 0.6 except for the addition of modes/difficulties and improved game support. There were no API changes which would affect how Gym currently interacts with the ALE. I tested my PR locally with Gym and everything was working as expected. Regarding #50 that sounds good to me, there seems to be minimal change to the ALE itself. I'll wait for #50 to be finalized and merged before proceeding? |
Good idea to wait for #50. I was worried that ALE 0.6 was not backwards compatible (for instance it's 0.6 instead of 0.5.1). If this is backwards compatible (that is, old gym will work with atari py 0.1 and 0.2, then that's fine). That said we should probably still use a more restrictive version selector in gym's |
I'll double confirm with @mcmachado but from what I can see there weren't any breaking changes with the API between 0.5 and 0.6 except for the addition of game modes/difficulties. I'm subscribed to #50 and hopefully, it will get merged soon 👍. Once this PR gets merged I have a PR ready for Gym which allows for the selection of modes/difficulties. We can also work together to restrict the versioning of |
I don't mean just breaking changes with the API, if the games were changed in such a way as to warrant a new env id (like |
I'm not sure I understand what you mean by the games changing? Would you bump the version of a game if there were bug fixes, e.g., introducing episode termination upon reaching max score? One thing I wanted to speak to you about was having an environment id for specific combinations of modes and difficulties in Gym. For example, in a recent paper, we abbreviate modes and difficulties with |
Anything that would make the results not comparable across papers. A bug fix that only affects when you reach max score seems less likely to meet that criteria. I suspect there are too many env ids already for atari envs in gym, we currently register 6 variants for each game: https://github.com/openai/gym/blob/7006c7a182a991b9409c206c56abc121eaffafb5/gym/envs/__init__.py I think there it might be good to use the new support for kwargs to |
PIggybacking on this thread to make a comment: there is also some discussion of fixing games where agents "roll" the score on the ALE repository: Farama-Foundation/Arcade-Learning-Environment#262 Would be good to have a longer discussion re: reproducibility to this effect. |
@christopherhesse The Python 3.5 macOS build seems to be giving me some problems. I'm not sure why it can't find the smoke test. I would investigate further but it's kind of hard without being able to access debug mode on the build. Otherwise, all other builds are working as expected. I will outline a couple of changes I made from the Windows PR.
atari-py/atari_py/ale_python_interface.py Lines 13 to 18 in f05ab1d
atari-py/atari_py/package_data.txt Line 3 in d7f596d
It's also worth noting that I haven't tested the Windows builds locally. I don't have access to a machine with Windows. Once we can resolve the Python 3.5 build everything should be ready to merge. |
Great! Thanks for updating your PR! We can likely look more at this at the end of the week. For your packaging changes, please make sure that if you do Also from the test log it looks like we install atari_py, then uninstall it and replace it with one of the pre-existing binaries (gym now depends on atari_py 0.1.*). It's likely that this is incorrect and we should install atari_py after gym[atari] to make sure we overwrite it with the local version. Or else not install gym[atari] at all, just install gym + deps. |
Both installing with |
I think you may want to look at the problem with the tests maybe running against the wrong version of atari_py since I don't think this is a problem on master. |
I looked into it more and it turns out this was an issue with how Gym would resolve the |
@pzhokhov should we just remove the gym lines from the |
It also seems weird you run |
Yeah, that's what I was getting at in #49 (comment) I believe pytest is run against the installed package because we want to make sure that the wheel works before we deploy that. Specifically we are not just testing that |
Sorry we didn't get to this this week, hopefully we can look at it next friday though. |
In the meantime, it would be useful to fix the test setup if you have time. |
Sure, do you want this in a different PR? Seems unrelated to the ALE. |
It's unrelated to ALE, but is necessary for this PR, a separate PR would be fine. |
You are talking about removing gym from the test case outlined above? Replacing that with a proper test to verify whether packaging of the wheel succeeded? I already fixed all the other build issues with this PR already (i.e., all your tests pass for this PR). I didn’t know there’s a test considered necessary for this PR to be merged? The gym fix would be nice to have and I’m happy to do so if that’s what your referring to. |
Yeah, that test case. I'm confused though, I thought that was installing the wrong version of atari_py and running the tests against it, but I don't see that behavior. Did this PR change the version number previously? |
Yes, I previously had a commit that changed the version number and this was causing the issue you mention. I removed said commit as it seems like your CI infrastructure was handling versioning. I think it’s still advisable to bump the version to 0.2.X now that we use ALE 0.6. I just deferred the issue of versioning until after this is merged. |
Okay, we can address it in a later PR then, it won't block this PR just the next release. |
Thanks for the PRs @JesseFarebro! |
This PR updates the ALE to version 0.6 which includes game mode/difficulties as well as improved game support over 0.5. Once this is merged I have PR for Gym which enables selecting modes/difficulties.
Since this is a major change to the base
atari-py
package I also bumped the semver to 0.2.0. If you want to manage versioning yourself I can remove this commit. Let me know if you need any changes or edits to this PR.CC @mcmachado @mgbellemare