Skip to main content

Wrapper to live stream OpenAI's gym agents training process from Google Colab to Twitch/YouTube server.

Project description

Gym Video Streamer

A Video Streaming Wrapper for OpenAI's Gym Environments

Now you can Live Stream the Agent's learning behavior to Twitch/YouTube from Google Colab while training these Agents.

colab link

What’s In This Document

Installation

!pip install gym-video-streamer

And if you already have gym-video-streamer then upgrade it by this command.

!pip install --upgrade gym-video-streamer

Imports and Usage

import gym
from gym_video_streamer import SetupVirtualDisplay
from gym_video_streamer import VideoStreamer  # Streaming Wrapper
  • Now Setup the Virtual Display (only required for Google Colab):

    SetupVirtualDisplay()
    
  • Define your live stream information:

    # stream_info dictionary should be in this format only
    stream_info = {
        "URL": "rtmp://live.twitch.tv/app/", # example of Twitch URL
        "secret": "--- secret here ---"
    }
    
  • Initialize the gym env and pass it to the custom wrapper:

    # ---- {For Classic-control gym envs} ----
    env = VideoStreamer(gym.make("CartPole-v1"), stream_info)
    

    *If you don't pass stream_info then it will simply store the video locally in the videos directory.

  • Test the setup (running 100 episodes for testing):

    try:
        observation = env.reset()
        i = 0
        while True:
            if i == 100:
                break
    
            env.render()  # important to call render method on env
            action = env.action_space.sample()
            observation, reward, done, info = env.step(action)
    
            if done:
                env.reset()
                i += 1
    except Exception as e:
        print(e)
    finally:
        env.close()
    

Setup for different type of Gym Envs

  • Classic control Gym Envs: As we have seen in the above example this type of works without any extra installation/setup.

  • Box2D Gym Envs: For this type of envs you need to install the following packages:

    !pip install box2d box2d-py
    
  • Atari Gym Envs: Using this type of envs on Google Colab you, need some extra setup to make them working. When I tried, it gave me the following error Exception: ROM is missing for breakout, see https://github.com/openai/atari-py#roms for instructions. So if you know how to setup this env on Colab then do let me know ✌🏻.

  • MuJoCo & Robotics Gym Envs: Now for this type of envs, you need to setup the MuJoCo on Colab. And again I haven't done this but I found a resource that will help you Setup Mujoco-py on Linux.

License

Licensed under the MIT License.

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for gym-video-streamer, version 1.0
Filename, size File type Python version Upload date Hashes
Filename, size gym_video_streamer-1.0-py3-none-any.whl (8.3 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size gym-video-streamer-1.0.tar.gz (7.3 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page