Skip to content

agermanidis/gym-drawobjects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gym-drawobjects

gym-drawobjects: An OpenAI Gym environment for drawing objects

Defines an OpenAI Gym environment (drawobjects-v0) for training agents to draw ImageNet objects on a black-and-white canvas.

Environment

Action space: 6 available actions: UP, DOWN, LEFT, RIGHT, PAINT_WHITE, PAINT_BLACK

Observation space: canvas pixel values

Reward: The Inception-V3 prediction for your label on the current canvas

Setup

$ pip install .

Usage

import time
import gym
import gym_drawobjects

class RandomAgent(object):
    """The world's simplest agent!"""
    def __init__(self, action_space):
        self.action_space = action_space

    def act(self, observation, reward, done):
        return self.action_space.sample()

env = gym.make("drawobjects-v0")
env.label_idx = 169 # draw panda
agent = RandomAgent(env.action_space)

reward = 0
done = False
episode_count = 3
steps_per_episode = 10000

for i in range(episode_count):
    ob = env.reset()
    for j in range(steps_per_episode):
        action = agent.act(ob, reward, done)
        print(env.action_to_human_readable(action))
        ob, reward, _, _ = env.step(action)
        env.render()
        time.sleep(0.1)

env.close()

About

An OpenAI Gym environment for drawing objects

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages