Это код, который я использовал. Я нашел этот код на https://github.com/openai/universe#breaking-down-the-example. Поскольку я получаю сообщение об ошибке в удаленном диспетчере, мне нужно скопировать этот код, чтобы запустить его. Но это все еще дает мне ошибку, как показано ниже
import gym
import universe # register the universe environments
env = gym.make('flashgames.DuskDrive-v0')
env.configure(remotes=1) # automatically creates a local docker container
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()
Я получаю это, когда пытаюсь запустить вышеупомянутый скрипт. Я пробовал все возможные способы решить эту проблему, но это все равно вызывает ту же ошибку. Об этом нет ни одной ветки. Я не знаю, что теперь делать, скажите, пожалуйста, если кто-нибудь из вас это решил.
Я использую Ubuntu 18.04 LTS в виртуальном ящике, работающем в Windows 10.
WARN: Environment '<class 'universe.wrappers.timer.Timer'>' has deprecated methods '_step' and '_reset' rather than 'step' and 'reset'. Compatibility code invoked. Set _gym_disable_underscore_compat = True to disable this behavior.
Traceback (most recent call last):
File "gymtest1.py", line 4, in <module>
env = gym.make("flashgames.CoasterRacer-v0")
File "/home/mystery/.local/lib/python3.6/site-packages/gym/envs/registration.py", line 167, in make
return registry.make(id)
File "/home/mystery/.local/lib/python3.6/site-packages/gym/envs/registration.py", line 125, in make
patch_deprecated_methods(env)
File "/home/mystery/.local/lib/python3.6/site-packages/gym/envs/registration.py", line 185, in patch_deprecated_methods
env.seed = env._seed
AttributeError: 'Timer' object has no attribute '_seed'





Поэтому я думаю, что вам нужно добавить несколько строк в Модуль таймера, потому что код проверяет, реализует ли код определенные функции (_step, _reset, _seed и т. д.)
Итак, все, что вам нужно сделать (я думаю), это добавить в конец класса Timer:
def _seed(self, seed_num=0): # this is so that you can get consistent results
pass # optionally, you could add: random.seed(random_num)
return