Wrapper for running/rendering OpenAI Gym on Jupyter Notebook
Project description
Gym-Notebook-Wrapper
Gym-Notebook-Wrapper provides small wrappers for running and rendering OpenAI Gym on Jupyter Notebook or similar (e.g. Google Colab).
1. Requirement
- Linux
- Xvfb
- On Ubuntu, you can install
sudo apt update && sudo apt install xvfb
.
- On Ubuntu, you can install
- Open GL (for some environment)
- On Ubuntu, you can install
sudo apt update && sudo apt install python-opengl
- On Ubuntu, you can install
2. Installation
You can install from
PyPI with pip install gym-notebook-wrapper
3. Usage
Three classes are implemented in gnwrapper
module in this
gym-notebook-wrapper package.
3.1 Simple One Shot Animation
Wrap gym.Env
class with gnwrapper.Animation
. That's all! The
render()
method shows the environment on its output. An example code
is following;
3.1.1 Code
import gnwrapper
import gym
env = gnwrapper.Animation(gym.make('CartPole-v1'))
obs = env.reset()
for _ in range(1000):
next_obs, reward, done, info = env.step(env.action_space.sample())
env.render()
obs = next_obs
if done:
obs = env.reset()
3.1.2 Limitation
- Calling
render()
method delete the other output for the same cell. - The output image is shown only once.
3.2 Loop Animation
Wrap gym.Env
class with gnwrapper.LoopAnimation
. This wrapper
stores display image when render()
methos is called and shows the
loop animation by display(dpi=72,interval=50)
methos.
3.2.1 Code
import gnwrapper
import gym
env = gnwrapper.LoopAnimation(gym.make('CartPole-v1'))
obs = env.reset()
for _ in range(100):
next_obs, reward, done, info = env.step(env.action_space.sample())
env.render()
obs = next_obs
if done:
obs = env.reset()
env.display()
3.2.2 Limitation
- Require a lot of memory to store and display large steps of display
- Can raise memory error
3.3 Movie Animation
Wrap gum.Env
class with gnwrapper.Monitor
. This wrapper inherits
gym.wrappers.Monitor
and implements display()
method for embedding
mp4 movie into Notebook.
If you call display(reset=True)
, the video list is cleared and the
next display()
method shows only new videos.
3.3.1 Code
import gnwrapper
import gym
env = gnwrapper.Monitor(gym.make('CartPole-v1'),directory="./")
o = env.reset()
for _ in range(100):
o, r, d, i = env.step(env.action_space.sample())
if d:
env.reset()
env.display()
3.3.2 Limitation
- Require disk space for save movie
4. Notes
gnwrapper.Animation
and gnwrapper.LoopAnimation
inherit from
gym.Wrapper
, so that it can access any fields or mothods of
gym.Env
and gym.Wrapper
(e.g. action_space
).
5. Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for gym_notebook_wrapper-1.2.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94b9879773a46ac5878bdb47938f110bb3aaaf31b05971aeca3dfe721f8882d0 |
|
MD5 | 4d5c9a34ecbc434c8e46d52548d59c17 |
|
BLAKE2b-256 | 8750d6c698bea4349741f6b23104507d5d8751d2d53b5896359000c57b352e8b |