एक एजेंट के खिलाफ एक बोर्ड गेम खेलें, जिसे सुदृढीकरण सीखने का उपयोग करके प्रशिक्षित किया जाता है और TensorFlow Lite के साथ तैनात किया जाता है।
शुरू हो जाओ
यदि आप TensorFlow Lite के लिए नए हैं और Android के साथ काम कर रहे हैं, तो हम निम्नलिखित उदाहरण एप्लिकेशन की खोज करने की अनुशंसा करते हैं जो आपको आरंभ करने में मदद कर सकते हैं।
यदि आप Android के अलावा किसी अन्य प्लेटफ़ॉर्म का उपयोग कर रहे हैं, या आप पहले से ही TensorFlow Lite API से परिचित हैं, तो आप हमारे प्रशिक्षित मॉडल को डाउनलोड कर सकते हैं।
यह काम किस प्रकार करता है
मॉडल को गेम एजेंट के लिए 'प्लेन स्ट्राइक' नामक एक छोटा बोर्ड गेम खेलने के लिए बनाया गया है। इस गेम और इसके नियमों के त्वरित परिचय के लिए, कृपया इस README को देखें।
ऐप के UI के नीचे, हमने एक ऐसा एजेंट बनाया है जो मानव खिलाड़ी के खिलाफ खेलता है। एजेंट एक 3-लेयर एमएलपी है जो बोर्ड की स्थिति को इनपुट के रूप में लेता है और 64 संभावित बोर्ड कोशिकाओं में से प्रत्येक के लिए अनुमानित स्कोर को आउटपुट करता है। मॉडल को पॉलिसी ग्रेडिएंट (REINFORCE) का उपयोग करके प्रशिक्षित किया जाता है और आप यहां प्रशिक्षण कोड पा सकते हैं। एजेंट को प्रशिक्षित करने के बाद, हम मॉडल को TFlite में परिवर्तित करते हैं और इसे Android ऐप में परिनियोजित करते हैं।
एंड्रॉइड ऐप में वास्तविक गेम खेलने के दौरान, जब एजेंट की कार्रवाई करने की बारी होती है, तो एजेंट मानव खिलाड़ी की बोर्ड स्थिति (नीचे बोर्ड) को देखता है, जिसमें पिछली सफल और असफल स्ट्राइक (हिट और मिस) के बारे में जानकारी होती है। , और यह भविष्यवाणी करने के लिए प्रशिक्षित मॉडल का उपयोग करता है कि आगे कहां प्रहार करना है, ताकि यह मानव खिलाड़ी के खेल को समाप्त करने से पहले समाप्त कर सके।
प्रदर्शन बेंचमार्क
प्रदर्शन बेंचमार्क नंबर यहां वर्णित टूल से जेनरेट किए जाते हैं।
मॉडल नाम | मॉडल का आकार | उपकरण | सी पी यू |
---|---|---|---|
नीति ढाल | 84 केबी | पिक्सेल 3 (एंड्रॉइड 10) | 0.01ms* |
पिक्सेल 4 (एंड्रॉइड 10) | 0.01ms* |
* 1 धागे का इस्तेमाल किया।
इनपुट
मॉडल बोर्ड राज्य के रूप में (1, 8, 8) के 3-डी float32
टेंसर को स्वीकार करता है।
आउटपुट
मॉडल 64 संभावित स्ट्राइक पोजीशन में से प्रत्येक के लिए अनुमानित स्कोर के रूप में आकार का 2-डी फ्लोट32 टेंसर ( float32
) देता है।
अपने खुद के मॉडल को प्रशिक्षित करें
आप प्रशिक्षण कोड में BOARD_SIZE
पैरामीटर को बदलकर बड़े/छोटे बोर्ड के लिए अपने स्वयं के मॉडल को प्रशिक्षित कर सकते हैं।