dm_control
: 물리 기반 시뮬레이션을 위한 Google DeepMind 인프라입니다.MuJoCo 물리학을 사용하는 물리 기반 시뮬레이션 및 강화 학습 환경을 위한 Google DeepMind의 소프트웨어 스택입니다.
이 패키지에 대한 소개 튜토리얼은 Colaboratory 노트북으로 제공됩니다.
이 패키지는 다음과 같은 "핵심" 구성 요소로 구성됩니다.
dm_control.mujoco
: MuJoCo 물리 엔진에 Python 바인딩을 제공하는 라이브러리입니다.
dm_control.suite
: MuJoCo 물리 엔진으로 구동되는 Python 강화 학습 환경 세트입니다.
dm_control.viewer
: 대화형 환경 뷰어입니다.
또한 보다 복잡한 제어 작업을 생성하는 데 다음 구성 요소를 사용할 수 있습니다.
dm_control.mjcf
: Python에서 MuJoCo MJCF 모델을 구성하고 수정하기 위한 라이브러리입니다.
dm_control.composer
: 재사용 가능한 자체 포함 구성 요소에서 풍부한 RL 환경을 정의하기 위한 라이브러리입니다.
dm_control.locomotion
: 사용자 정의 작업을 위한 추가 라이브러리입니다.
dm_control.locomotion.soccer
: 다중 에이전트 축구 작업.
이 패키지를 사용하는 경우 다음 출판물을 인용해 주십시오.
@article{tunyasuvunakool2020,
title = {dm_control: Software and tasks for continuous control},
journal = {Software Impacts},
volume = {6},
pages = {100022},
year = {2020},
issn = {2665-9638},
doi = {https://doi.org/10.1016/j.simpa.2020.100022},
url = {https://www.sciencedirect.com/science/article/pii/S2665963820300099},
author = {Saran Tunyasuvunakool and Alistair Muldal and Yotam Doron and
Siqi Liu and Steven Bohez and Josh Merel and Tom Erez and
Timothy Lillicrap and Nicolas Heess and Yuval Tassa},
}
다음을 실행하여 PyPI에서 dm_control
설치합니다.
pip install dm_control
참고 : dm_control은 "편집 가능" 모드(예:
pip install -e
)dm_control
설치할 수 없습니다 .
dm_control
mujoco
패키지를 통해 제공되는 pybind11 기반 바인딩을 사용하도록 크게 업데이트되었지만 현재 편집 가능 모드와 호환되지 않는 방식으로 MuJoCo 헤더 파일에서 자동으로 생성된 일부 레거시 구성 요소에 여전히 의존하고 있습니다. 편집 가능 모드에서dm_control
설치하려고 하면 다음과 같은 가져오기 오류가 발생합니다.ImportError: cannot import name 'constants' from partially initialized module 'dm_control.mujoco.wrapper.mjbindings' ...
해결책은
pip uninstall dm_control
다음-e
플래그 없이 다시 설치하는 것입니다.
버전 1.0.0부터 의미론적 버전 관리를 채택합니다.
버전 1.0.0 이전에는 dm_control
Python 패키지의 버전이 0.0.N
이었습니다. 여기서 N
Git 커밋마다 임의의 양만큼 증가하는 내부 개정 번호입니다.
출시되지 않은 dm_control
버전을 저장소에서 직접 설치하려면 pip install git+https://github.com/google-deepmind/dm_control.git
실행하면 됩니다.
MuJoCo Python 바인딩은 EGL(헤드리스, 하드웨어 가속), GLFW(창, 하드웨어 가속) 및 OSMesa(순수한 소프트웨어 기반)의 세 가지 OpenGL 렌더링 백엔드를 지원합니다. dm_control
통해 렌더링하려면 이 세 가지 백엔드 중 하나 이상을 사용할 수 있어야 합니다.
윈도우 시스템을 사용한 하드웨어 렌더링은 GLFW 및 GLEW를 통해 지원됩니다. Linux에서는 배포판의 패키지 관리자를 사용하여 설치할 수 있습니다. 예를 들어 Debian 및 Ubuntu에서는 sudo apt-get install libglfw3 libglew2.0
실행하여 이 작업을 수행할 수 있습니다. 다음 사항에 유의하세요.
dm_control.viewer
GLFW에서만 사용할 수 있습니다. "헤드리스" 하드웨어 렌더링(예: X11과 같은 윈도우 시스템 없음)에는 EGL 드라이버의 EXT_platform_device 지원이 필요합니다. 최신 Nvidia 드라이버는 이를 지원합니다. GLEW도 필요합니다. Debian 및 Ubuntu에서는 sudo apt-get install libglew2.0
통해 설치할 수 있습니다.
소프트웨어 렌더링에는 GLX 및 OSMesa가 필요합니다. Debian 및 Ubuntu에서는 sudo apt-get install libgl1-mesa-glx libosmesa6
사용하여 설치할 수 있습니다.
기본적으로 dm_control
GLFW를 먼저 사용하고 EGL, OSMesa를 차례로 사용하려고 시도합니다. MUJOCO_GL=
환경 변수를 각각 "glfw"
, "egl"
또는 "osmesa"
로 설정하여 사용할 특정 백엔드를 지정할 수도 있습니다. EGL로 렌더링할 때 환경 변수 MUJOCO_EGL_DEVICE_ID=
대상 GPU ID로 설정하여 렌더링에 사용할 GPU를 지정할 수도 있습니다.
pip
사용하는 위의 지침은 시스템 기본 인터프리터가 아닌 Homebrew에서 설치한 Python 인터프리터를 사용하는 경우 작동합니다.
실행하기 전에 DYLD_LIBRARY_PATH
환경 변수를 GLFW 라이브러리 경로로 업데이트해야 합니다. 이는 export DYLD_LIBRARY_PATH=$(brew --prefix)/lib:$DYLD_LIBRARY_PATH
실행하여 수행할 수 있습니다.