بيئة تعليمية مكتوبة بلغة C++ وLua لإنشاء عوالم شبكية.
DeepMind Lab2D هو نظام لإنشاء بيئات ثنائية الأبعاد للتعلم الآلي. الأهداف الرئيسية للنظام هي سهولة الاستخدام والأداء: البيئات هي "عوالم شبكية"، والتي يتم تعريفها من خلال مجموعة من الخرائط النصية البسيطة لتخطيط العالم، ورمز Lua لسلوكه. يتفاعل وكلاء التعلم الآلي مع هذه البيئات من خلال واحدة من اثنتين من واجهات برمجة التطبيقات، Python dm_env
API أو واجهة برمجة تطبيقات C المخصصة (والتي يستخدمها DeepMind Lab أيضًا). يتم دعم وكلاء متعددة.
إذا كنت تستخدم 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
.
هناك حاجة إلى عدة مكتبات إضافية ولكن لا يتم شحنها بأي شكل من الأشكال؛ يجب أن يكونوا موجودين على نظامك:
Python 3.8
أو أعلى مع NumPy
و PyGame
packaging
.تستخدم قواعد البناء بعض إعدادات المترجم الخاصة بـGC/Clang. إذا لم يتعرف المترجم على بعض العلامات (عادةً ما تكون هذه العلامات عبارة عن عمليات منع تحذيرية محددة)، فقد يتعين عليك تحرير تلك العلامات.
هذا ليس أحد منتجات Google الرسمية.