如何让 python 代理观察?

How to make a python agent observe?

我正在尝试制作一个简单的 python 代理,它可以检测游戏中的转弯并相应地向左或向右转。但是,我对如何让代理观察屏幕以及如何在我的代码中实现代理感到困惑。

我对机器学习和健身房还是很陌生。我在下面有使用健身房的基本布局,

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

我会开始实施代码,但每当它观察屏幕时我都会卡住。

您已经在 env.reset() 和 env.step(action_n) 的 returns 中获得了观察结果。代理应该进行观察并使用一些监督学习方法(例如深度神经网络)来预测观察的动作。这是你缺少的吗?