dm_control
: البنية التحتية لـ Google DeepMind للمحاكاة القائمة على الفيزياء.مجموعة برامج Google DeepMind للمحاكاة القائمة على الفيزياء وبيئات التعلم المعزز، باستخدام فيزياء MuJoCo.
يتوفر برنامج تعليمي تمهيدي لهذه الحزمة كدفتر ملاحظات تعاوني:
تتكون هذه الحزمة من المكونات "الأساسية" التالية:
dm_control.mujoco
: المكتبات التي توفر روابط Python لمحرك الفيزياء MuJoCo.
dm_control.suite
: مجموعة من بيئات تعلم Python Reinforcement التي يدعمها محرك الفيزياء MuJoCo.
dm_control.viewer
: عارض بيئة تفاعلي.
بالإضافة إلى ذلك، تتوفر المكونات التالية لإنشاء مهام تحكم أكثر تعقيدًا:
dm_control.mjcf
: مكتبة لإنشاء وتعديل نماذج 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},
}
قم بتثبيت dm_control
من PyPI عن طريق التشغيل
pip install dm_control
ملاحظة : لا يمكن تثبيت
dm_control
في الوضع "القابل للتحرير" (أيpip install -e
).في حين تم تحديث
dm_control
إلى حد كبير لاستخدام الارتباطات المستندة إلى pybind11 المقدمة عبر حزمةmujoco
، فإنه في هذا الوقت لا يزال يعتمد على بعض المكونات القديمة التي يتم إنشاؤها تلقائيًا من ملفات رأس 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 ثلاث واجهات خلفية مختلفة لعرض OpenGL: EGL (بدون رأس، تسريع الأجهزة)، GLFW (نوافذ، تسريع الأجهزة)، وOSMesa (يعتمد على البرامج تمامًا). يجب أن تكون واحدة على الأقل من هذه الواجهات الخلفية الثلاثة متاحة حتى يتم عرضها من خلال dm_control
.
يتم دعم عرض الأجهزة باستخدام نظام النوافذ عبر GLFW وGLEW. في نظام Linux، يمكن تثبيتها باستخدام مدير الحزم الخاص بالتوزيع. على سبيل المثال، في نظامي Debian وUbuntu، يمكن القيام بذلك عن طريق تشغيل sudo apt-get install libglfw3 libglew2.0
. يرجى ملاحظة أن:
dm_control.viewer
إلا مع GLFW. يتطلب عرض الأجهزة "بدون رأس" (أي بدون نظام النوافذ مثل X11) دعم EXT_platform_device في برنامج تشغيل EGL. تدعم برامج تشغيل 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 المستهدف.
يجب أن تعمل التعليمات المذكورة أعلاه باستخدام pip
، بشرط أن تستخدم مترجم Python المثبت بواسطة Homebrew (بدلاً من المترجم الافتراضي للنظام).
قبل التشغيل، يجب تحديث متغير البيئة DYLD_LIBRARY_PATH
بالمسار إلى مكتبة GLFW. يمكن القيام بذلك عن طريق تشغيل export DYLD_LIBRARY_PATH=$(brew --prefix)/lib:$DYLD_LIBRARY_PATH
.