openai / procgen

Procgen Benchmark: Procedurally-Generated Game-Like Gym-Environments
https://openai.com/blog/procgen-benchmark/
MIT License
991 stars 207 forks source link

About the full distribution of levels #56

Closed Jonarain closed 3 years ago

Jonarain commented 3 years ago

Does "the full distribution of levels" equal to "num_level=0" ? I can't find any definition from your paper or comments from your code. (If I missed, I'm sorry)

christopher-hesse commented 3 years ago

Yes, 0 or unset (which defaults to 0) should result in INT32_MAX levels: https://github.com/openai/procgen/blob/master/procgen/src/vecgame.cpp#L287 which is about 2 billion.

christopher-hesse commented 3 years ago

The README says "num_levels=0 - The number of unique levels that can be generated. Set to 0 to use unlimited levels." Which is slightly inaccurate since it's not "unlimited", changing the docs to say "the full distribution of levels" may make more sense.

Jonarain commented 3 years ago

Thank you very much for your answer.

"changing the docs to say "the full distribution of levels" may make more sense." Yes, I definitely agree. "unlimited" made me confused.

dwyzzy commented 2 years ago

Yes, 0 or unset (which defaults to 0) should result in INT32_MAX levels: https://github.com/openai/procgen/blob/master/procgen/src/vecgame.cpp#L287 which is about 2 billion.

Hi! I hope to know whether it means that we have to train and test on all of the set having 2 billion levels, as the paper said, 'When evaluating sample efficiency, we train and test agents on the full distribution of levels in each environment' (If I missed something important, I'm sorry)

christopherhesse commented 2 years ago

I believe that means that each episode selects a random level from the 2 billion, not that all 2 billion are used since there should be fewer than 2 billion episodes.