Как заставить агента Python наблюдать? - PullRequest
1 голос
/ 23 мая 2019

Я пытаюсь создать простого питонского агента, который может обнаружить поворот в игре и повернуть налево или направо соответственно.Однако я не совсем понимаю, как заставить агента наблюдать за экраном и как внедрить агента в мой код.

Я все еще плохо знаком с машинным обучением и тренажерным залом.У меня есть базовый макет для использования тренажерного зала ниже,

import gym
import universe

env = gym.make(‘flashgames.NeonRace-v0’)
env.configure(remotes=1)
observation_n = env.reset()

while True:
    action_n = [[('KeyEvent', 'ArrowUp', True)] for ob in observation_n]
    #Your agent here
    observation_n, reward_n, done_n, info = env.step(action_n)
    env.render()

Ниже приведен макет для агента,

def getAgent():
   """ The daemon searches for this callable function to create a new agent with """
   return MyAgent()

class MyAgent(object):

    def __init__(self):
       """ standard object init """
       self.done = False

    def run(self, messaging, args):
       """ Call by daemon when the agent is to start running """
       while not self.done:
           pass

    def stop(self):
       """ Called by daemon when the thread is requested to stop """
       self.done = True

Я бы начал реализовывать код, но всякий раз, когда он наблюдал заЭкран я бы застрял.

1 Ответ

1 голос
/ 25 мая 2019

Вы уже получили наблюдения в возвращениях env.reset () и env.step (action_n).Агент должен взять наблюдение и использовать некоторый контролируемый метод обучения (например, глубокую нейронную сеть), чтобы предсказать действие от наблюдения.Вам этого не хватает?

...