datamllab / rlcard

Reinforcement Learning / AI Bots in Card (Poker) Games - Blackjack, Leduc, Texas, DouDizhu, Mahjong, UNO.
http://www.rlcard.org
MIT License
2.86k stars 618 forks source link

Environment Versioning Problems #229

Open jkterry1 opened 3 years ago

jkterry1 commented 3 years ago

Hey,

So PettingZoo is now the third most installed RL library on PyPI and as best we can tell is the most installed multi-agent library in the world (https://pepy.tech/project/pettingzoo). One thing we do in PettingZoo, similar to Gym, is to do strict environment versioning for reproducibility of environments, with names like from pettingzoo.classic import dou_dizhu_v3. Whenever new versions of RLCard are released with bug fixes or major changes to environments, we need to figure out when environments have been fixed when we bumped versions, and with the upgrades to RLCard 1.0.0, and that's become fairly challenging.

Going forward, could RLCard use similar import environment versioning to Gym and PettingZoo whenever there are bug fixes or changes that would break reproducibility (e.g. to the observation space of Dou Dizhu)?

daochenzha commented 3 years ago

@jkterry1 Hey, congratulations to your achievements. This is a good idea to have versioning. I will work on this and add the old version back.

jkterry1 commented 3 years ago

I'm not proposing adding old versions of environments, I'm proposing including the environment versions in the import names and strictly bumping it whenever a change that would result in different learning results is made.

daochenzha commented 3 years ago

Yes, we will include versioning from now on. Just trying to make sure, do you guys want to add the old version of doudizhu back?

jkterry1 commented 3 years ago

No, we want Gym styled versioning for bug fixes as that's what PettingZoo uses.

daochenzha commented 3 years ago

Sure. We will add versioning.