-
Notifications
You must be signed in to change notification settings - Fork 112
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
Reproducing Atari FPS #280
Comments
Hi @djbyrne ! First of all, see this section in the documentation: https://www.samplefactory.dev/09-environment-integrations/vizdoom/#reproducing-paper-results It's on VizDoom but I bet you can use similar configurations to reach very high throughput.
Replace Doom-related params with Atari, and you should be good to go. The most important parameters for throughput:
|
You would also need to increase the batch size to accommodate so much data. Start in 2048-4096 range and go from here. |
That said, there's actually a better way to work with Atari: https://www.samplefactory.dev/09-environment-integrations/envpool/ Envpool is a C++ vectorized env runner that supports atari and some other envs. It is even faster than running many envs in Python multiprocessing. Here's my guess:
|
Hey @alex-petrenko thank you for the insight! Apologies, I did not think to look at the other environments for this config 🙈 I will run with the what you have given above 😄 Yes, I have worked with envpool before, this is what I will try next. Have you done a benchmark comparison between envpool and standard atari on SampleFactory yet? I would imagine it gets similar speed up seen in the Sebulba PodRacer architecture, as it is also using a C++ based implementation for vectorising the environments. |
I haven't done comparisons really, but I know Costa did. There's also some info in their paper and repo: https://arxiv.org/abs/2206.10558 My guess is that you should be able to get 100+K easily with or without envpool, because you're probably going to be bottlenecked by the convnet backprop. |
Hi guys, really liking the repo and found the paper very insightful! Very excited to see the potential of single node RL experimentation 😄
I am trying to reproduce the throughput shown in the paper, ~45k for System 1 and ~130k for System 2, However I am currently platauing at ~20k on a machine that surpasses system 2.
Would it be possible to share the optimal config for reproducing the max throughput?
Thanks so much,
Donal
The text was updated successfully, but these errors were encountered: