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

Reinfors एक रीइन्फोर्समेंट-लर्निंग फ्रेमवर्क है जो समानांतर Rust बैकएंड में गेम सिमुलेशन, ट्री सर्च, एपिसोड ऑर्केस्ट्रेशन और बैच असेंबली निष्पादित करता है। Rust इंजन और उपयोगकर्ता के बीच की सीमा एक इन्फरेंस कॉलबैक है: यह पूल किए गए NumPy ऑब्जर्वेशन प्राप्त करता है और मॉडल आउटपुट लौटाता है, जिससे नेटवर्क आर्किेक्चर, ट्रेनिंग फ्रेमवर्क, ऑप्टिमाइज़र, रीप्ले बफर, हार्डवेयर प्लेसमेंट और डिस्ट्रिब्यूटेड टोपोलॉजी पूरी तरह कॉलर के नियंत्रण में रहती हैं। लाइब्रेरी में एकल- और बहु-एजेंट, ज़ीरो-सम, सहकारी और सामान्य-सम कार्यों को कवर करने वाला खेलों का विस्तृत कैटलॉग शामिल है, जिसमें बारी-बारी या समकालिक निर्णय, स्पष्ट चांस इवेंट, और पूर्ण तथा अपूर्ण सूचना दोनों के लिए समर्थन है। एल्गोरिदम में पॉलिसी-चालित वैल्यू लर्निंग, सर्-गाइडेड लर्निंग और स्टैंडअलोन गेम-थियोरेटिक सॉल्विंग विधियाँ शामिल हैं। इंस्टॉलेशन pip के माध्यम से pip install reinfors से किया जाता है, साथ में Gymnasium/PettingZoo अडैप्टर (reinfors[gym]) और PyTorch ट्रेनिंग उदाहरणों (reinfors[train]) के लिए वैकल्पिक एक्स्ट्रा उपलब्ध हैं। एक सरल उदाहरण Connect4 इंजन बनाता है और इन्फरेंस फ़ंक्शन प्रदान करके ट्रेनिंग बैच एकत्र करता है। बेंचमार्किंग Gymnasium जैसी शुद्ध Python RL लाइब्रेरीज़ की तुलना में महत्वपूर्ण प्रदर्शन लाभ दिखाती है, जिसमें सिंगल-थ्रेडेड एनवायरनमेंट स्टेपिंग पर लगभग 14-20x की रिपोर्ट की गई स्पीडअप शामिल है। Reinfors खेलों, एल्गोरिदम, नेटवर् और डिप्लॉयमेंट कॉन्फ़िरेशन में व्यापक प्रयोग के लिए नेटिव सिमुलेशन प्रदर्शन और मॉड्यूलैरिटी के बीच व्यावहारिक संतुलन भी लक्षित करता है। परियोजना pre-1.0 है, जिसका अर्थ है कि API, व्यवहार और सीरियलाइज़्ड फ़ॉर्मैट 0.x रिलीज़ों के बीच डेप्रिकेशन चेतावनियों के बिना बदल सकते हैं। उपयोगकर्ताओं को सलाह दी जाती है कि वे सटीक वर्शन पिन करें और अपग्रेड करते समय रिलीज़ नोट्स देखें। यह MIT और Apache-2.0 के अंतर्गत ड्यूअल-लासेंस्ड है।