مرحبًا ومرحبًا بكم في هذا البرنامج التعليمي ، وهو برنامج تعليمي نهائي تقريبًا لهذه الوحدة.
سأشرح فقط الكود الرئيسي الذي سينفذ الأمر برمته قبل أن نحصل على النتائج المثيرة
ونشاهد مقاطع الفيديو.
إذن هذا هو الكود الرئيسي وكما ترى ، هذا قصير جدًا.
نبدأ باستيراد المكتبات والوحدات النمطية وأيضًا الفئات والوظائف المختلفة التي
أنشأناها مثل الناقد النشط من ملف النموذج الخاص بنا ووظيفة القطار من ملف القطار ووظيفة الاختبار
من ملف الاختبار.
وبالطبع نقوم باستيراد المحسن الخاص بنا.
ثم نبدأ بالقسم الأول الذي ندخل فيه إلى فصل دراسي ، كل المعلمات وهذه هي المعلمات.
تذكر ، هذا هو كائن المعلمات الذي أنشأناه من فئة البارامترات هذه في كل مرة حصلنا فيها على متغير
مثل معدل التعلم أو جاما أو تاو.
لذلك دعونا نراجعهم بسرعة.
هذا أول واحد R هنا هو معدل التعلم.
لذا كما ترون ، نختار معدل تعليمي صغير.
الثاني هو معلمة جاما.
مرة أخرى ، نعتبرها 8. 99.
نأخذ معلمة من نوع واحد ، مجموعة من 116 عملية ، 20 خطوة ، بحد أقصى 10000.
تذكر أننا تحدثنا عن ذلك.
هذه هي المعلمة التي حددناها للتأكد من أن الوكيل لا يعلق إلى أجل غير مسمى في حالة البيئة.
لذلك سيؤدي هذا إلى إيقاف اللعبة إذا تجاوز طول الحلقة الحد الأقصى لطول الحلقة.
وفي النهاية بالطبع ، نحصل على اسم بيئتنا ، ونكسر الصفر.
وبالمناسبة ، يمكنك أيضًا اللعب في بعض البيئات الأخرى فقط عن طريق تغيير اسم البيئة
هنا.
لذا إذا كنت ترغب في اللعب مع بعض الإصدارات الأخرى أو حتى بعض ألعاب Atari الأخرى ، حسنًا ،
يمكنك ببساطة استبدال هذا الاختراق البصري هنا ببعض الألعاب الأخرى ، لكن يمكنني أن أخبرك أن الفيديو الاختراق
يمثل بالفعل تحديًا كبيرًا.
حسنا.
لذا فإن جميع المعلمات هنا ثم هناك الكود الرئيسي للتشغيل الرئيسي.
والآن ، دعونا نرى ما سنفعله في هذا السطر الأول.
وضعنا خيطًا واحدًا لكل نواة.
ثم في السطر الثاني نحصل على جميع المعلمات الخاصة بنا عن طريق إنشاء كائن من فئة params والتي
ستتم تهيئتها.
كل هذه المعلمات هنا لأن هناك متغيرات مرتبطة بكائن المعلمة هذا.
ثم نضع البذرة ، ثم نحصل على بيئتنا باستخدام إدخال الإنشاء والوظيفة مع اسم بيئتنا
الخارجة من الصفر.
ترى هذا الاسم env وبالتالي فإن المعلمات التي تحمل اسم env تنفجر مع الصفر.
لذلك سيوفر لنا ذلك بيئة الاختراق.
وبالمناسبة ، ليست هذه هي الطريقة المعتادة لإنشاء بيئة ، ولكن ،
كما تعلمون ، لتحسين العملية برمتها وتحسين الأداء أثناء استخدامنا هذا لإنشاء بيئة محسّنة بالفعل
، وهذا ما نقوم به بفضل الكون.
Universe عبارة عن حزمة تأتي مع جميع الحزم التي قمت بتثبيتها في الهواء الطلق.
حسنًا ، بفضل Universe ، نحصل على بيئة مُحسَّنة.
هذا هو كل شيء هنا.
ثم نحصل على نموذجنا المشترك من خلال إنشاء كائن من فئة الناقد النشط.
ومن المهم هنا أن نفهم أن هذا النموذج المشترك هو النموذج المشترك بين الوكلاء المختلفين.
لذلك لدينا خيوط مختلفة في نوى مختلفة.
وبالحديث عن الخيوط في السطر التالي هنا ، النموذج المشترك الذي يشترك في الذاكرة ، ما نقوم به هو تخزين النموذج
في الذاكرة المشتركة للكمبيوتر بحيث يمكن لجميع الخيوط الوصول إليها ، حتى لو كانت
في نوى مختلفة.
هذا ما نفعله هنا.
هذا هو تمكين هذا.
ثم نربط المُحسِّن الخاص بنا بمعلمات نموذجنا المشترك وبمعدل تعلم
يبلغ 0. 01.
ومرة أخرى ، من المهم أن نفهم أن المُحسِّن مشترك أيضًا لأنه سيعمل على النموذج
المشترك ونفس الشيء في السطر التالي يحسن مشاركة الذاكرة.
نقوم بتخزين المُحسِّن في الذاكرة المشتركة حتى يتمكن جميع الوكلاء من الوصول إليه لتحسين النموذج.
ثم نقوم بتهيئة عملياتنا حتى لا تقوم عملية الاختبار بتحديث النموذج المشترك ، ولكنها تستخدمه فقط لتجربته
على جزء واحد وطباعة النتيجة وتسجيل مقاطع الفيديو.
هذا هو بالضبط ما يتم القيام به هنا باستخدام اختبار Target Equals.
هذه هي عملية الاختبار وهذه العملية هنا تنتقل من مرحلة المعالجة المتعددة.
إذن هنا وما يفعله هو أنه يدير وظيفة في سلسلة رسائل مستقلة.
إذن ، عندما نبدأ P ، نبدأ عملية جديدة والتي تمت تهيئتها هنا عند هذا السطر.
ثم بهذه العملية التي تلحق P ، نضيف العملية في قائمة العمليات.
وأخيرًا في هذه الحلقة هنا ، نقوم فقط بعمل حلقة لتشغيل جميع العمليات الأخرى التي سيتم تدريبها من خلال
تحديث النموذج المشترك.
وهذا ما يحدث أساسًا في الأسطر الأخيرة من التعليمات البرمجية هنا.
لذلك إذا كنت لا ترغب في الدخول في تفاصيلها ، فالشيء المهم الذي يجب فهمه هو أن هذا سيؤدي
إلى تشغيل العمليات بالطريقة المثلى ، وبالتالي يجب علينا جميعًا أن نكون جيدين في تنفيذ هذا الرمز
والحصول على نموذج مدرب وفي النهاية شاهد النتائج.
لذلك لا أطيق الانتظار لفعل ذلك.
سيكون هذا مثيرًا جدًا.
سأحاول أن أجد دورًا رئيسيًا الآن حتى نتمكن جميعًا من مشاهدته معًا.
وهكذا حتى في المرة القادمة ، استمتع بـ i.