Skip to content
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

Convert Q-learning (and/or Sarsa) into an example agent in reinforce-zoo #10

Open
stites opened this issue Aug 1, 2017 · 2 comments
Open

Comments

@stites
Copy link
Contributor

stites commented Aug 1, 2017

Build an example using current code. Use reinforce-algorithms to come up with an example of using the current algorithm interfaces (Reinforce.Algorithms), and the Q-Table "backend" (Reinforce.Agents). This would go into the reinforce-zoo folder and would be a good introduction to current internals. You can open new ticket for this if it takes a long time.

@stites stites changed the title convert algorithms into agents Convert Q-learning (and/or Sarsa) into an example agent in reinforce-zoo Oct 1, 2017
@msaroufim
Copy link

msaroufim commented Mar 1, 2019

Hey @stites I'd like to take a stab at this. I have a bunch of experience with RL in python but am terrible at Haskell, I've read a bunch but wanted to get my hands a bit dirtier. Do you have 5-10min to talk about what this issue would entail?

@stites
Copy link
Contributor Author

stites commented Mar 1, 2019

I would love to chat! I believe this repo is pretty beginner-friendly as well (meaning no fancy types). My email address fnz@fgvgrf.vb (rot13-encoded), send me a ping!

As you may be aware, reinforce just consists of RL algorithms with tabular agents and the idea was to stabilize hasktorch before jumping back into function approximation. My attention has since shifted a bit more to maintaining hasktorch, however.

I should also mention that there's a performance bottleneck coming from the openai gym dependency (openai/gym-http-api). TBH it's pretty miserable and OpenAI no longer maintains that library (so they don't really support other languages anymore).

The options are using the call-python-via-msgpack repo (see #6) which I haven't tried and don't know what the performance hit looks like, or writing haskell bindings that directly interface with the ALE (all their C++ seems extern'd, so would be straight forward). I was also starting to rewrite some of Sutton's old environments in haskell.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants