pytorch / rl

A modular, primitive-first, python-first PyTorch library for Reinforcement Learning.
https://pytorch.org/rl
MIT License
2.21k stars 290 forks source link

[Feature Request] Integration for OpenSpiel environments #2133

Open Brunozml opened 4 months ago

Brunozml commented 4 months ago

Motivation

It would be great to be able to use OpenSpiel's environments with TorchRL.

Solution

Its rl_environment interface is basically identical to that of gym, so the integration should relatively straightforward. I'm more than willing to help achieve this.

Alternatives

I'm not sure if it's already possible to do this using GymLikeEnv, but so far my experimentation has failed.

Additional context

Checklist

vmoens commented 4 months ago

That would be wonderful!

Never tried it to be completely open about that.

Looking at it the API seems quite different from the one from gym.

IIUC, the steps to achieve this would be:

Concretely, I'd love to see a dummy rollout where we get the state (represented as a single array or multiple arrays or tensors) and the action (idem).

If the games have anything remotely related to "specs" i'd like to see them too!

kurtamohler commented 1 month ago

I'm looking into the possibility of making the OpenSpiel wrapper stateless. I'm not sure yet if it's possible to obtain a dict-of-arrays representation of an OpenSpiel state. I've submitted an issue in OpenSpiel asking about it: https://github.com/google-deepmind/open_spiel/issues/1254

kurtamohler commented 1 week ago

I would like to reopen this, since I still have to add support for chance nodes