Home
Login

جيم هو مجموعة أدوات لتطوير ومقارنة خوارزميات التعلم المعزز. يدعم تعليم الوكلاء (agents) كيفية اتخاذ القرارات في مجموعة متنوعة من البيئات المحاكاة.

NOASSERTIONPython 36.1kopenai Last Updated: 2024-10-11

نظرة عامة على مشروع OpenAI Gym

ملخص المشروع

OpenAI Gym هي مكتبة Python مفتوحة المصدر مخصصة لتطوير ومقارنة خوارزميات التعلم المعزز. توفر واجهة برمجة تطبيقات (API) موحدة لربط خوارزميات التعلم بالبيئات، وتوفر مجموعة من البيئات التي تتوافق مع معيار واجهة برمجة التطبيقات هذا. منذ إطلاقه، أصبح API الخاص بـ Gym معيارًا في مجال التعلم المعزز.

⚠️ إعلان هام

تغيير حالة صيانة المشروع: قام الفريق الذي كان يصون Gym منذ عام 2021 بنقل جميع أعمال التطوير المستقبلية إلى Gymnasium، وهو بديل مباشر لـ Gym (يمكن استخدامه باستخدام import gymnasium as gym). لن يتلقى Gym أي تحديثات مستقبلية، ويوصى المستخدمون بالتبديل إلى Gymnasium في أقرب وقت ممكن.

الميزات الأساسية

واجهة برمجة تطبيقات موحدة (API)

  • توفير واجهة موحدة لاتصال خوارزميات التعلم المعزز بالبيئات
  • تبسيط عملية إنشاء البيئات والتفاعل معها
  • أصبح معيار API في مجال التعلم المعزز

مكتبة بيئات غنية

  • تحتوي على عدد كبير من بيئات التعلم المعزز المعرفة مسبقًا
  • تدعم أنواعًا مختلفة من المهام والتحديات
  • تتبع البيئات معيار واجهة موحدة

طريقة التثبيت

التثبيت الأساسي

pip install gym

تثبيت عائلة بيئات معينة

# تثبيت تبعيات بيئات Atari
pip install gym[atari]

# تثبيت جميع تبعيات البيئات
pip install gym[all]

# تثبيت تبعيات بيئات MuJoCo (أحدث إصدار)
pip install gym[mujoco]

# تثبيت تبعيات بيئات MuJoCo (إصدار قديم)
pip install gym[mujoco_py]

دعم النظام

  • إصدار Python: يدعم Python 3.7, 3.8, 3.9, 3.10
  • نظام التشغيل: يدعم رسميًا Linux و macOS
  • Windows: يقبل طلبات السحب ذات الصلة ولكنه لا يوفر دعمًا رسميًا

مثال على الاستخدام الأساسي

import gym

# إنشاء بيئة
env = gym.make("CartPole-v1")

# إعادة تعيين البيئة
observation, info = env.reset(seed=42)

# حلقة تفاعل البيئة
for _ in range(1000):
    # اختيار إجراء عشوائي
    action = env.action_space.sample()
    
    # تنفيذ الإجراء
    observation, reward, terminated, truncated, info = env.step(action)
    
    # التحقق مما إذا كانت هناك حاجة لإعادة التعيين
    if terminated or truncated:
        observation, info = env.reset()

# إغلاق البيئة
env.close()

النظام البيئي ذو الصلة

مكتبات التعلم الموصى بها

  1. CleanRL - مكتبة تعلم تعتمد على Gym API

    • موجهة للمبتدئين في التعلم المعزز
    • توفر تطبيقات مرجعية ممتازة
  2. Tianshou - مكتبة تعلم للمستخدمين ذوي الخبرة

    • تدعم تعديلات الخوارزميات المعقدة
    • تصميم مرن
  3. RLlib - مكتبة تعلم تدعم التدريب الموزع

    • تدعم التدريب والاستدلال الموزعين
    • وظائف غنية للغاية
  4. PettingZoo - مكتبة بيئات متعددة الوكلاء

    • مشابهة لـ Gym ولكنها تدعم بيئات متعددة الوكلاء

إدارة الإصدار

تعتمد Gym على التحكم الصارم في الإصدار لضمان إمكانية التكرار:

  • تنتهي جميع البيئات بلاحقة إصدار (مثل "_v0")
  • عندما قد يؤثر تغيير البيئة على نتائج التعلم، يتم زيادة رقم الإصدار
  • ضمان إمكانية تكرار التجارب واتساقها

تحديثات بيئات MuJoCo

  • أحدث إصدارات "_v4" والإصدارات المستقبلية لم تعد تعتمد على mujoco-py
  • بدلاً من ذلك، تستخدم mujoco كاعتماد ضروري
  • لا تزال الإصدارات القديمة من البيئات محفوظة ولكن لم تعد تتم صيانتها

الوثائق والموارد

الاقتباس الأكاديمي

يمكن الحصول على الورقة البيضاء للمشروع من arXiv، وتنسيق الاقتباس:

@misc{1606.01540,
  Author = {Greg Brockman and Vicki Cheung and Ludwig Pettersson and Jonas Schneider and John Schulman and Jie Tang and Wojciech Zaremba},
  Title = {OpenAI Gym},
  Year = {2016},
  Eprint = {arXiv:1606.01540},
}

ملخص حالة المشروع

لقد أنشأت OpenAI Gym، كأداة رائدة في مجال التعلم المعزز، معيارًا صناعيًا وعززت نظامًا بيئيًا ضخمًا. على الرغم من أن المشروع الأصلي لم يعد قيد الصيانة النشطة، إلا أن خليفته Gymnasium يرث جميع الوظائف الأساسية، مما يضمن استمرار تطوير المجتمع. بالنسبة للمشاريع الجديدة، يوصى بشدة باستخدام Gymnasium مباشرةً للحصول على أحدث الميزات والدعم المستمر.