如何让 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 中获得了观察结果。代理应该进行观察并使用一些监督学习方法(例如深度神经网络)来预测观察的动作。这是你缺少的吗?
我正在尝试制作一个简单的 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 中获得了观察结果。代理应该进行观察并使用一些监督学习方法(例如深度神经网络)来预测观察的动作。这是你缺少的吗?