প্রকল্প সম্পর্কে

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-এর অধীনে দ্বৈত-লাইসেন্সযুক্ত।