Проблема RL в COLAB для ‘gym.envs.box2d’ не имеет атрибута ‘LunarLander’

#python-3.x #google-colaboratory #reinforcement-learning #openai-gym

#python-3.x #google-colaboratory #подкрепление-обучение #openai-тренажерный зал

Вопрос:

Что я могу сделать в Colab для работы с env «LunarLander-v2» из OPENAI-gym. Я установил BOX2D и box2d-py, но всегда возвращаю одну и ту же ошибку:

 AttributeError: module 'gym.envs.box2d' has no attribute 'LunarLander'
  

Этот отрывок на моей локальной машине работает, а на Colab — нет.
Что может быть решением?

Версии: Python: 3.6 — Gym: 0.17.2 — BOX2D: 2.3.10

Комментарии:

1. Можете ли вы показать нам командную строку, как вы хотите запустить env?

2. @constanze, я решил проблему таким образом: 1) Загрузка ссылки на каталог swig 2) извлечение swig.exe 3) Поставить swig.exe в wd записной книжки Jupyter в Colab (папка содержимого в моем случае) 4) !pip установите BOX2D. Наконец-то Lunar lander работает. У вас был другой способ?

Ответ №1:

Важной частью является создание новой записной книжки Colab, нажмите File -> New notebook. В новом (свежем) Colab выполните эти:

 !pip3 install box2d-py
!pip3 install gym[Box_2D]
import gym
env = gym.make("LunarLander-v2")

  

Тренажерный зал установлен по умолчанию в новом ноутбуке, однако вам необходимо установить box2d-py и gym [Box_2D] . Пожалуйста, закройте текущую записную книжку, если вы столкнулись с 'gym.envs.box2d' has no attribute 'LunarLander' ошибкой. Просто используйте новый ноутбук и продолжайте описанную выше процедуру установки pip. Это сработает!

Комментарии:

1. Привет! Пожалуйста, выполняйте команды одну за другой. Кроме того, пожалуйста, вставьте ошибку, если таковая имеется?

2. Завершение сеанса в colab после обнаружения ошибки и последующего повторного подключения действительно работает (после выполнения вышеуказанного).

Ответ №2:

 %pip install ribs[all] gym~=0.17.0 Box2D~=2.3.10 tqdm
import gym
import time
import numpy as np
import matplotlib.pyplot as plt
from tqdm.notebook import tqdm
env = gym.make("LunarLander-v2")
  

Должно работать

Ответ №3:

Просто установка Box2D решила проблему для меня

 pip install Box2D
  

Комментарии:

1. Важно выполнить pip install Box2D ПЕРЕД первым вызовом gym.make("LunarLander-v2") . Если вы уже получили эту ошибку: 'gym.envs.box2d' has no attribute 'LunarLander' тогда вам необходимо выполнить сброс к заводским настройкам во время выполнения (Runtime -> Factory reset runtime) или создать новый ноутбук.

Ответ №4:

Ошибка связана с отсутствием pybox2d пакета. Colab или нет, не имеет значения.

Ошибка появится для любой 2d непрерывной среды.

Установите pybox2d с помощью conda install -c conda-forge pybox2d , если вы используете Anaconda, или с помощью pip install Box2D , если вам нравится pip.

Удачи.