Gym environment solving the Frozen Lake problem using Q-Learning.
Tip
To train the model faster, comment the env.render(mode='human') call in bin/agent.py or change the render_interval variable as desired.
- Train the agent using Q-Learning
- Save the model to be reused with a library like stable-baselines
To run the gym environment first create a new Python environment and activate it. I'm using Anaconda for setting the python version that pipenv should use to set up the environment. The command bellow will automatically setup the environment with conda and pipenv:
make envNow install all the project dependencies:
make install-allTo run the game to be played by a human run (use arrows <, ^, >, v):
make playWarning
Since FrozenLake doesn't have a NoOP action, the default will always be 0.
Which means that when playing it will always go to the left. Try pressing
the arrows faster to bypass that.
To run the game and run random actions run:
make sampleTo run the agent to complete the game task run:
make agent