एक सवाल है? TensorFlow फ़ोरम विज़िट फ़ोरम पर समुदाय से जुड़ें

वजन बढ़ना

आर्म एमएल टूलींग द्वारा बनाए रखा

यह दस्तावेज़ आपके उपयोग के मामले में कैसे फिट बैठता है, यह निर्धारित करने में आपकी सहायता करने के लिए वेट क्लस्टरिंग पर एक अवलोकन प्रदान करता है।

अवलोकन

क्लस्टरिंग, या वजन साझाकरण, एक मॉडल में अद्वितीय वजन मूल्यों की संख्या को कम करता है, जिससे तैनाती के लिए लाभ होता है। यह पहले प्रत्येक परत के वजन को एन क्लस्टर में समूहित करता है, फिर क्लस्टर से संबंधित सभी भारों के लिए क्लस्टर के सेंट्रोइड मूल्य को साझा करता है।

यह तकनीक मॉडल संपीड़न के माध्यम से सुधार लाती है। भविष्य के ढांचे का समर्थन मेमोरी फ़ुटप्रिंट सुधार को अनलॉक कर सकता है जो सीमित संसाधनों के साथ एम्बेडेड सिस्टम पर गहन शिक्षण मॉडल को तैनात करने के लिए एक महत्वपूर्ण अंतर बना सकता है।

हमने दृष्टि और भाषण कार्यों में क्लस्टरिंग के साथ प्रयोग किया है। हमने कम से कम सटीकता के नुकसान के साथ मॉडल संपीड़न में 5x तक सुधार देखा है, जैसा कि नीचे प्रस्तुत परिणामों द्वारा प्रदर्शित किया गया है।

कृपया ध्यान दें कि क्लस्टरिंग दृढ़ संकल्प और घने परतों के लिए कम लाभ प्रदान करेगा, जो एक बैच सामान्यीकरण परत से पहले, साथ ही साथ प्रति-अक्ष प्रशिक्षण-परिमाणीकरण के साथ संयोजन में है।

एपीआई संगतता मैट्रिक्स

उपयोगकर्ता निम्नलिखित एपीआई के साथ क्लस्टरिंग लागू कर सकते हैं:

  • मॉडल बिल्डिंग: केवल अनुक्रमिक और कार्यात्मक मॉडल के साथ tf.keras
  • TensorFlow संस्करण: TF 1.x संस्करण 1.14+ और 2.x के लिए।
    • tf.compat.v1 पैकेज के साथ tf.compat.v2 और TF 1.X पैकेज के साथ tf.compat.v2 समर्थित नहीं हैं।
  • TensorFlow निष्पादन मोड: ग्राफ़ और उत्सुक दोनों

परिणाम

छवि वर्गीकरण

नमूना मूल क्लस्टर किया गया
शीर्ष -1 सटीकता (%) संकुचित .tflite (MB) का आकार विन्यास # क्लस्टर के शीर्ष -1 सटीकता (%) संकुचित .tflite (MB) का आकार
MobileNetV1 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 ४.४३
MobileNetV2 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 (MB) का आकार विन्यास # क्लस्टर के शीर्ष -1 सटीकता (%) संकुचित .tflite (MB) का आकार
डीएस-सीएनएन-एल 95.233 1.46
पूर्ण (सभी Conv2D परतें) 32 95.09 0.39
पूर्ण (सभी Conv2D परतें) 94.272 0.27

मॉडल को स्पीचकोमैंड्स v0.02 पर प्रशिक्षित और परीक्षण किया गया था।

  1. .H5 फ़ाइल में केरेस मॉडल को सीरियल करें
  2. TFLiteConverter.from_keras_model_file() का उपयोग करके TFLiteConverter.from_keras_model_file() फ़ाइल को .tflite में बदलें
  3. एक ज़िप में .tflite फ़ाइल को संपीड़ित करें

उदाहरण

केरास उदाहरण में वेट क्लस्टरिंग के अलावा, निम्नलिखित उदाहरण देखें:

  • MNIST हस्तलिखित अंक वर्गीकरण डेटासेट पर प्रशिक्षित CNN मॉडल का वजन क्लस्टर: कोड

वज़न क्लस्टरिंग कार्यान्वयन डीप कंप्रेशन पर आधारित है : डीप न्यूरल नेटवर्क्स विथ प्रूनिंग, प्रशिक्षित क्वांटिज़ेशन और हफ़मैन कोडिंग पेपर । अध्याय 3 देखें, जिसका शीर्षक है प्रशिक्षित परिमाणीकरण और भार साझाकरण