Я пытаюсь создать спортивную среду, которая двигает мышь (очевидно, в виртуальной машине) ... Я не знаю много о классах, но должен ли быть аргумент для себя или чего-то еще ...?Кроме того, любые улучшения будут с благодарностью ...
Этот код в основном будет работать на ВМ, так что ... Я пытался удалить строку кода, но есть несколько строк, которые нене работает ... (я ужасно объясняю вещи)
Вот код:
class MouseEnv(Env):
def __init__(self):
self.ACC = 0
self.reward = 0
self.done = False
self.reset()
def step(self, action):
try:
self.action = action
done = False
if self.action == 1:
pyautogui.click()
self.reward += 0.2
else:
if self.ACC == 1:
self.action = min((self.action/100), 1) * 1920
self.prev_action = min((self.prev_action/100), 1) * 1080
self.reward += 0.4
else:
self.ACC = 1
self.prev_action = self.action()
self.reset()
screen = ImageGrab.grab()
self.observation = np.array(screen)
except:
done = True
return self.observation, self.reward, done, {}
def reset(self):
self.observation = np.array()
self.reward = 0
self.done = 0
return self.observation
И ошибка:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/rees/.local/lib/python3.6/site-packages/gym/envs/registration.py", line 171, in make
return registry.make(id, **kwargs)
File "/home/rees/.local/lib/python3.6/site-packages/gym/envs/registration.py", line 123, in make
env = spec.make(**kwargs)
File "/home/rees/.local/lib/python3.6/site-packages/gym/envs/registration.py", line 87, in make
env = cls(**_kwargs)
File "/home/rees/Desktop/gym-mouse/MouseGym/envs/mouse_env.py", line 12, in __init__
self.reset()
File "/home/rees/Desktop/gym-mouse/MouseGym/envs/mouse_env.py", line 41, in reset
self.observation = np.array()
TypeError: Required argument 'object' (pos 1) not found
Ожидаемый результат:
Я ожидаю, что мышь будет двигаться в зависимости от ввода / действий агента, а наблюдение будет прямой трансляцией видео с экрана ...