Я изучал некоторые из спортивных состязаний OpenAI и наткнулся на эту строку:
self.model = mujoco_py.MjModel(fullpath)
(https://github.com/openai/gym/blob/master/gym/envs/mujoco/mujoco_env.py#L28)
Может кто-нибудь сказать мне, где определяется mujoco_py.MjModel ()? Я предполагаю, что это каким-то образом вытащил из родного MuJoCo / Cython …
РЕДАКТИРОВАТЬ
Также, когда я ищу папку установки mujoco_py (<Python-installation-directory>/Lib/site-packages/mujoco_py/
) буквально нет MjModel
найдено (возвышенный полнотекстовый поиск). (Поиск может исключать некоторые файлы.) Хотя я часто нахожу «mjModel» и «PyMjModel».
Я сбит с толку, потому что создание экземпляра с помощью mujoco_py.MjModel () также, по-видимому, создает модель другого типа, чем использование функций, таких как mujoco_py.load_model_from_path (). Первые имеют .data
атрибут, в то время как последний, по-видимому, нет.
Если вы установили mujoco-py
, вы можете найти MjModel
в чем-то вроде следующего файла:
<Python-installation-directory>/Lib/site-packages/mujoco_py/mjcore.py
Вы не найдете этот файл Python в Mujoco-Py хранилище хоть. Вероятно, он генерируется из кода C ++ во время процесса установки (при запуске setup.py). Похоже, MjModel определяется в mjmodel.pxd файл (для получения дополнительной информации о файлах .pxd см. этот).
Других решений пока нет …