Render gym environments to a web browser.
Project description
Render Gym Environments to a Web Browser.
While working on a head-less server, it can be a little tricky to render and see your environment simulation. This script allows you to render your environment onto a browser by just adding one line to your code.
Installation
xvfb-run -s "-screen 0 1400x900x24" bash # Run this if you're using a head-less server.
pip3 install render_browser
Or you can install from the source by cloning this repo and running pip3 install .
.
Usage
Put your code in a function and replace your normal env.render()
with yield env.render(mode='rgb_array')
. Encapsulate this function with the render_browser
decorator.
import gym
from render_browser import render_browser
@render_browser
def test_policy(policy):
# Your function/code here.
env = gym.make('Breakout-v0')
obs = env.reset()
while True:
yield env.render(mode='rgb_array')
# ... run policy ...
obs, rew, _, _ = env.step(action)
test_policy(policy)
When you visit your_ip:5000
on your browser, test_policy()
will be called and you'll be able to see the rendered environment on your browser window.
TODO
- Stop flask server once the rendering stops - so that render_browser can be called more than once in a single run.
- Allow I/P from keyboard on the browser, useful for teleoperation in robotic environments.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for render_browser-0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8dbcdb8631dd3fd15c389d72dc7f83ac9323c9eef1eb8c8c202ccf83c5b3561d |
|
MD5 | 05b97d31a37fd779be9818afaee93278 |
|
BLAKE2b-256 | be58c14a3abde59a06e37a0e64077fbcd39afc65f433c41dda37f6671eccb214 |