Microsoft संज्ञानात्मक टूलकिट (CNTK) - परिचय

इस अध्याय में, हम सीखेंगे कि CNTK क्या है, इसकी विशेषताएं, इसके संस्करण 1.0 और 2.0 के बीच अंतर और संस्करण 2.7 के महत्वपूर्ण हाइलाइट्स।

Microsoft संज्ञानात्मक टूलकिट (CNTK) क्या है?

Microsoft संज्ञानात्मक टूलकिट (CNTK), जिसे पहले कम्प्यूटेशनल नेटवर्क टूलकिट के रूप में जाना जाता था, एक स्वतंत्र, आसान-उपयोग, ओपन-सोर्स, वाणिज्यिक-ग्रेड टूलकिट है जो हमें मानव मस्तिष्क की तरह सीखने के लिए गहन शिक्षण एल्गोरिदम को प्रशिक्षित करने में सक्षम बनाता है। यह हमें कुछ लोकप्रिय गहरी शिक्षा प्रणाली बनाने में सक्षम बनाता हैfeed-forward neural network time series prediction systems and Convolutional neural network (CNN) image classifiers

इष्टतम प्रदर्शन के लिए, इसकी रूपरेखा कार्य C ++ में लिखे गए हैं। यद्यपि हम C ++ का उपयोग करके इसके फ़ंक्शन को कॉल कर सकते हैं, लेकिन उसी के लिए सबसे अधिक उपयोग किया जाने वाला दृष्टिकोण पायथन प्रोग्राम का उपयोग करना है।

CNTK की विशेषताएं

Microsoft CNTK के नवीनतम संस्करण में दी गई कुछ विशेषताएं और क्षमताएं निम्नलिखित हैं:

निर्मित घटकों

  • CNTK में अत्यधिक अनुकूलित अंतर्निर्मित घटक हैं जो पायथन, C ++ या ब्रेनस्क्रिप्ट से बहुआयामी घने या विरल डेटा को संभाल सकते हैं।

  • हम सीएनएन, एफएनएन, आरएनएन, बैच सामान्यीकरण और अनुक्रम-से-अनुक्रम को ध्यान से लागू कर सकते हैं।

  • यह पायथन से GPU पर नए उपयोगकर्ता-परिभाषित कोर-घटकों को जोड़ने के लिए हमें कार्यक्षमता प्रदान करता है।

  • यह स्वचालित हाइपरपैरेट ट्यूनिंग भी प्रदान करता है।

  • हम रेनफोर्समेंट लर्निंग, जनरेटिव एडवरसरील नेटवर्क्स (GANs), सुपरवाइज्ड और साथ ही अनसुपरविंड लर्निंग को लागू कर सकते हैं।

  • बड़े डेटासेट के लिए, CNTK में बिल्ट-इन ऑप्टिमाइज़्ड रीडर्स हैं।

संसाधनों का कुशलता से उपयोग

  • CNTK हमें 1-बिट SGD के माध्यम से कई GPU / मशीनों पर उच्च सटीकता के साथ समानता प्रदान करता है।

  • GPU मेमोरी में सबसे बड़े मॉडल को फिट करने के लिए, यह मेमोरी शेयरिंग और अन्य अंतर्निहित तरीके प्रदान करता है।

हमारे अपने नेटवर्क को आसानी से व्यक्त करें

  • CNTK के पास आपके अपने नेटवर्क, शिक्षार्थियों, पाठकों, प्रशिक्षण और पायथन, C ++ और ब्रेनस्क्रिप्ट से मूल्यांकन को परिभाषित करने के लिए पूर्ण API हैं।

  • CNTK का उपयोग करके, हम आसानी से पायथन, C ++, C # या ब्रेनस्क्रिप्ट वाले मॉडल का मूल्यांकन कर सकते हैं।

  • यह उच्च-स्तर के साथ-साथ निम्न-स्तर के एपीआई प्रदान करता है।

  • हमारे डेटा के आधार पर, यह स्वतः ही अनुमान को आकार दे सकता है।

  • यह प्रतीकात्मक प्रतीकात्मक आवर्तक तंत्रिका नेटवर्क (RNN) छोरों को पूरी तरह से अनुकूलित किया है।

मापने मॉडल प्रदर्शन

  • CNTK आपके द्वारा निर्मित तंत्रिका नेटवर्क के प्रदर्शन को मापने के लिए विभिन्न घटक प्रदान करता है।

  • आपके मॉडल और संबद्ध ऑप्टिमाइज़र से लॉग डेटा उत्पन्न करता है, जिसका उपयोग हम प्रशिक्षण प्रक्रिया की निगरानी के लिए कर सकते हैं।

संस्करण 1.0 बनाम संस्करण 2.0

निम्न तालिका CNTK संस्करण 1.0 और 2.0 की तुलना करती है:

संस्करण 1.0 संस्करण 2.0
यह 2016 में रिलीज़ हुई थी। यह 1.0 संस्करण का एक महत्वपूर्ण पुनर्लेखन है और जून 2017 में जारी किया गया था।
इसने ब्रेनस्क्रिप्ट नामक एक स्वामित्व स्क्रिप्टिंग भाषा का उपयोग किया। इसकी रूपरेखा कार्यों को C ++, पायथन का उपयोग करके कहा जा सकता है। हम अपने मॉड्यूल को C # या Java में आसानी से लोड कर सकते हैं। ब्रेनस्क्रिप्ट भी संस्करण 2.0 द्वारा समर्थित है।
यह विंडोज और लिनक्स सिस्टम दोनों पर चलता है लेकिन सीधे मैक ओएस पर नहीं। यह विंडोज (विन 8.1, विन 10, सर्वर 2012 आर 2 और बाद में) और लिनक्स सिस्टम दोनों पर चलता है लेकिन सीधे मैक ओएस पर नहीं।

संस्करण 2.7 के महत्वपूर्ण हाइलाइट्स

Version 2.7Microsoft संज्ञानात्मक टूलकिट का अंतिम मुख्य रिलीज़ किया गया संस्करण है। इसमें ONNX 1.4.1 का पूरा सपोर्ट है। CNTK के इस अंतिम रिलीज़ किए गए संस्करण के कुछ महत्वपूर्ण आकर्षण निम्नलिखित हैं।

  • ONNX 1.4.1 के लिए पूर्ण समर्थन।

  • विंडोज और लिनक्स सिस्टम दोनों के लिए CUDA 10 के लिए समर्थन।

  • यह ONNX निर्यात में अग्रिम आवर्तक तंत्रिका नेटवर्क (RNN) लूप का समर्थन करता है।

  • यह ONNX प्रारूप में 2GB से अधिक मॉडल निर्यात कर सकता है।

  • यह ब्रेनस्क्रिप्ट स्क्रिप्टिंग भाषा की प्रशिक्षण कार्रवाई में FP16 का समर्थन करता है।