그리드 세계 생성을 위해 C++ 및 Lua로 작성된 학습 환경입니다.
DeepMind Lab2D 는 머신러닝을 위한 2D 환경을 구축하기 위한 시스템입니다. 시스템의 주요 목표는 사용 편의성과 성능입니다. 환경은 세계 레이아웃을 위한 간단한 텍스트 기반 지도와 해당 동작을 위한 Lua 코드의 조합으로 정의되는 "그리드 세계"입니다. 기계 학습 에이전트는 Python dm_env
API 또는 사용자 지정 C API(DeepMind Lab에서도 사용됨)라는 두 가지 API 중 하나를 통해 이러한 환경과 상호 작용합니다. 여러 에이전트가 지원됩니다.
연구에 DeepMind Lab2D를 사용하고 이를 인용하고 싶다면 함께 제공되는 백서를 인용하는 것이 좋습니다.
DeepMind Lab2d 는 PyPI에서 사용할 수 있으며 다음을 사용하여 설치할 수 있습니다.
pip install dmlab2d
dmlab2d
는 Linux 및 macOS용으로 사전 구축된 휠로 배포됩니다. 플랫폼에 적합한 휠이 없으면 소스에서 빌드해야 합니다. 설정에 맞게 조정할 수 있는 설치 스크립트의 예는 install.sh
참조하세요.
python/random_agent
에서 무작위 작업을 수행하는 "무작위" 에이전트의 예를 제공합니다. 이는 고유한 에이전트를 생성하기 위한 기반과 환경을 미리 보기 위한 간단한 도구로 사용할 수 있습니다.
bazel run -c opt dmlab2d/random_agent -- --level_name=clean_up
DeepMind Lab2D는 여러 가지 방법으로 제공되는 몇 가지 외부 소프트웨어 라이브러리에 의존합니다.
dm_env
, eigen
, luajit
, lua5.1
, lua5.2
, luajit
, png
및 zlib
라이브러리는 외부 Bazel 소스로 참조되며 Bazel BUILD 파일이 제공됩니다. 종속 코드 자체는 이식성이 뛰어나야 하며 우리가 제공하는 BUILD 규칙은 Linux x86 및 MacOS(x86 및 arm64)에만 적용됩니다. 다른 플랫폼에서 빌드하려면 해당 BUILD 파일을 편집해야 할 가능성이 높습니다.
//third_party/rl_api
에는 "일반 강화 학습 API"가 포함되어 있습니다.
몇 가지 추가 라이브러리가 필요하지만 어떤 형태로도 제공되지 않습니다. 시스템에 있어야 합니다.
NumPy
, PyGame
및 packaging
포함된 Python 3.8
이상.빌드 규칙은 GCC/Clang과 관련된 몇 가지 컴파일러 설정을 사용합니다. 컴파일러에서 일부 플래그를 인식하지 못하는 경우(일반적으로 특정 경고 표시 제외) 해당 플래그를 편집해야 할 수도 있습니다.
이것은 공식 Google 제품이 아닙니다.