आर्म एमएल टूलींग द्वारा बनाए रखा गया
यह दस्तावेज़ वज़न क्लस्टरिंग पर एक सिंहावलोकन प्रदान करता है ताकि आपको यह निर्धारित करने में मदद मिल सके कि यह आपके उपयोग के मामले में कैसे फिट बैठता है।
- एंड-टू-एंड उदाहरण में सीधे गोता लगाने के लिए, वेट क्लस्टरिंग उदाहरण देखें।
- अपने उपयोग के मामले के लिए आवश्यक एपीआई को तुरंत ढूंढने के लिए, वेट क्लस्टरिंग व्यापक मार्गदर्शिका देखें।
अवलोकन
क्लस्टरिंग, या वजन साझा करना, एक मॉडल में अद्वितीय वजन मूल्यों की संख्या को कम कर देता है, जिससे तैनाती के लिए लाभ होता है। यह पहले प्रत्येक परत के भार को एन समूहों में समूहित करता है, फिर क्लस्टर से संबंधित सभी भारों के लिए क्लस्टर के सेंट्रोइड मान को साझा करता है।
यह तकनीक मॉडल संपीड़न के माध्यम से सुधार लाती है। भविष्य की रूपरेखा का समर्थन मेमोरी फ़ुटप्रिंट सुधारों को अनलॉक कर सकता है जो सीमित संसाधनों के साथ एम्बेडेड सिस्टम पर गहन शिक्षण मॉडल को तैनात करने के लिए महत्वपूर्ण अंतर ला सकता है।
हमने दृष्टि और वाक् कार्यों में क्लस्टरिंग का प्रयोग किया है। हमने सटीकता के न्यूनतम नुकसान के साथ मॉडल संपीड़न में 5 गुना तक सुधार देखा है, जैसा कि नीचे प्रस्तुत परिणामों से पता चलता है।
कृपया ध्यान दें कि क्लस्टरिंग कनवल्शन और सघन परतों के लिए कम लाभ प्रदान करेगी जो बैच सामान्यीकरण परत से पहले होती है, साथ ही प्रति-अक्ष पोस्ट-प्रशिक्षण परिमाणीकरण के संयोजन में भी।
एपीआई संगतता मैट्रिक्स
उपयोगकर्ता निम्नलिखित एपीआई के साथ क्लस्टरिंग लागू कर सकते हैं:
- मॉडल बिल्डिंग:
keras
केवल अनुक्रमिक और कार्यात्मक मॉडल के साथ - TensorFlow संस्करण: संस्करण 1.14+ और 2.x के लिए TF 1.x।
- TF 2.X पैकेज के साथ
tf.compat.v1
और TF 1.X पैकेज के साथtf.compat.v2
समर्थित नहीं हैं।
- TF 2.X पैकेज के साथ
- TensorFlow निष्पादन मोड: ग्राफ़ और उत्सुक दोनों
परिणाम
छवि वर्गीकरण
नमूना | मूल | क्लस्टर किया गया | ||||
---|---|---|---|---|---|---|
शीर्ष-1 सटीकता (%) | संपीड़ित .tflite का आकार (एमबी) | विन्यास | # समूहों का | शीर्ष-1 सटीकता (%) | संपीड़ित .tflite का आकार (एमबी) | |
मोबाइलनेटV1 | 70.976 | 14.97 | ||||
चयनात्मक (अंतिम 3 Conv2D परतें) | 16, 16, 16 | 70.294 | 7.69 | |||
चयनात्मक (अंतिम 3 Conv2D परतें) | 32, 32, 32 | 70.69 | 8.22 | |||
पूर्ण (सभी Conv2D परतें) | 32 | 69.4 | 4.43 | |||
मोबाइलनेटV2 | 71.778 | 12.38 | ||||
चयनात्मक (अंतिम 3 Conv2D परतें) | 16, 16, 16 | 70.742 | 6.68 | |||
चयनात्मक (अंतिम 3 Conv2D परतें) | 32, 32, 32 | 70.926 | 7.03 | |||
पूर्ण (सभी Conv2D परतें) | 32 | 69.744 | 4.05 |
मॉडलों को ImageNet पर प्रशिक्षित और परीक्षण किया गया।
कीवर्ड स्पॉटिंग
नमूना | मूल | क्लस्टर किया गया | ||||
---|---|---|---|---|---|---|
शीर्ष-1 सटीकता (%) | संपीड़ित .tflite का आकार (एमबी) | विन्यास | # समूहों का | शीर्ष-1 सटीकता (%) | संपीड़ित .tflite का आकार (एमबी) | |
डीएस-सीएनएन-एल | 95.233 | 1.46 | ||||
पूर्ण (सभी Conv2D परतें) | 32 | 95.09 | 0.39 | |||
पूर्ण (सभी Conv2D परतें) | 8 | 94.272 | 0.27 |
मॉडल को SpeechCommands v0.02 पर प्रशिक्षित और परीक्षण किया गया था।
- केरस मॉडल को .h5 फ़ाइल में क्रमबद्ध करें
-
TFLiteConverter.from_keras_model_file()
का उपयोग करके .h5 फ़ाइल को .tflite में कनवर्ट करें - .tflite फ़ाइल को ज़िप में संपीड़ित करें
उदाहरण
केरस उदाहरण में वेट क्लस्टरिंग के अलावा, निम्नलिखित उदाहरण देखें:
- एमएनआईएसटी हस्तलिखित अंक वर्गीकरण डेटासेट: कोड पर प्रशिक्षित सीएनएन मॉडल के वजन को क्लस्टर करें
वेट क्लस्टरिंग कार्यान्वयन डीप कंप्रेशन पर आधारित है: प्रूनिंग, प्रशिक्षित क्वांटाइजेशन और हफमैन कोडिंग पेपर के साथ डीप न्यूरल नेटवर्क्स को कंप्रेस करना। अध्याय 3 देखें, जिसका शीर्षक है प्रशिक्षित परिमाणीकरण और वजन साझा करना ।