इस प्रोजेक्ट के बारे में

stable-retro-scripts, रेट्रो कंसोल गेम्स खेलने के लिए रीइन्फोर्समेंट-लर्निंग मॉडल ट्रेन करने वाली Python स्क्रिप्ट्स का संग्रह है। यह stable-retro (gym-retro का एक फोर्क) और stable-baselines3 पर आधारित है, और उन उपयोगकर्ताओं के लिए है जो एमुलेटेड टाइटल्स पर एजेंट ट्रेन करना, मॉडल-विरुद्ध-मॉडल मैच चलाना, या एमुलेटर फ्रंटएंड्स में उपयोग के लिए मॉडल एक्सपोर्ट करना चाहते हैं। README में बताई गई मुख्य क्षमताएँ: - scripts/train.py जैसी स्क्रिप्ट्स का उपयोग करके रेट्रो गेम्स पर मॉडल ट्रेन करें, जिसमें environment, policy network, समानांतर environments की संख्या, timesteps, और hyperparameters के विकल्प होते हैं। - scripts/train_curriculum.py और JSON curriculum फ़ाइलों के माध्यम से करिकुलम-आधारित ट्रेनिंग चलाएँ। - दो ट्रेन किए गए मॉडलों को player-vs-player गेम्स में एक-दूसरे के खिलाफ खड़ा करें, जिनके उदाहरणों में NHL94, Mortal Kombat, और WWF Wrestlemania: The Arcade Game शामिल हैं। - एक बेहतर AI प्रतिद्वंद्वी के खिलाफ खेलें। - अलग retro-ai-runtime प्रोजेक्ट के माध्यम से एमुलेटर फ्रंटएंड्स में उपयोग के लिए मॉडल एक्सपोर्ट करें। समर्थित मॉडल आर्किटेक्चर सूचीबद्ध: MLPs, Nature CNN, Impala CNN, और संयुक्त इनपुट मॉडल (image प्लस scalar)। Attention MLPs को प्रायोगिक चिह्नित किया गया है। इंस्टॉलेशन नोट्स: Ubuntu 22.04/24.04 और Windows 11 WSL2 (Ubuntu 22.04 VM) पर परीक्षण किया गया। Python 3.10 से 3.12, gymnasium, stable-baselines3, और stable-retro आवश्यक हैं। सिस्टम पैकेजों में python3, pip, venv, git, zlib1g-dev, libopenmpi-dev, ffmpeg, cmake, और libgl1-mesa-dev शामिल हैं। निर्भरताएँ requirements.txt से इंस्टॉल की जाती हैं, और वैकल्पिक lint टूलिंग requirements-dev.txt में है। एमुलेटर डेवलपमेंट के लिए एक editable stable-retro checkout इंस्टॉल किया जा सकता है। ROM handling: उपयोगकर्ताओं को अपने ROM स्वयं उपलब्ध कराने होंगे; README बताता है कि Airstriker एक public-domain ROM है जो पहले से stable-retro में शामिल है। ROMs को python3 -m retro.import से इम्पोर्ट किया जाता है। उदाहरण कमांड्स में Airstriker-Genesis पर CnnPolicy, 8 environments, 1,000,000 timesteps, और playback सक्षम के साथ ट्रेनिंग, तथा NHL94 curriculum चलाना शामिल है। C++ inference लाइब्रेरी retro-ai-runtime रिपॉज़िटरी में स्थानांतरित हो गई है, जो एक्सपोर्ट किए गए मॉडलों को RetroArch जैसे एमुलेटर फ्रंटएंड्स के अंदर चलाकर player input नियंत्रित करती है। ट्रेनिंग, मूल्यांकन, और मॉडल एक्सपोर्ट इस रिपॉज़िटरी में ही रहते हैं। RetroArch-पक्षीय एकीकरण RetroArchAI में रहता है। README में NHL94 और WWF Wrestlemania के लिए गेम-विशिष्ट पेज, एक WSL2 सेटअप वीडियो, और RetroArch तथा PyTorch पर एक ट्यूटोरियल वीडियो के लिंक भी हैं।