केरस: टेन्सरफ्लो के लिए उच्च स्तरीय एपीआई

केरस TensorFlow प्लेटफ़ॉर्म का उच्च-स्तरीय API है। यह आधुनिक गहन शिक्षण पर ध्यान देने के साथ मशीन लर्निंग (एमएल) समस्याओं को हल करने के लिए एक सुलभ, अत्यधिक उत्पादक इंटरफ़ेस प्रदान करता है। केरस डेटा प्रोसेसिंग से लेकर हाइपरपैरामीटर ट्यूनिंग से लेकर तैनाती तक मशीन लर्निंग वर्कफ़्लो के हर चरण को कवर करता है। इसे तेजी से प्रयोग को सक्षम करने पर ध्यान केंद्रित करके विकसित किया गया था।

केरस के साथ, आपके पास TensorFlow की स्केलेबिलिटी और क्रॉस-प्लेटफ़ॉर्म क्षमताओं तक पूर्ण पहुंच है। आप केरास को टीपीयू पॉड या जीपीयू के बड़े समूहों पर चला सकते हैं, और आप केरास मॉडल को ब्राउज़र या मोबाइल उपकरणों पर चलाने के लिए निर्यात कर सकते हैं। आप वेब एपीआई के माध्यम से भी केरस मॉडल की सेवा कर सकते हैं।

केरस को निम्नलिखित लक्ष्यों को प्राप्त करके संज्ञानात्मक भार को कम करने के लिए डिज़ाइन किया गया है:

  • सरल, सुसंगत इंटरफ़ेस प्रदान करें।
  • सामान्य उपयोग के मामलों के लिए आवश्यक कार्रवाइयों की संख्या कम करें।
  • स्पष्ट, कार्रवाई योग्य त्रुटि संदेश प्रदान करें।
  • जटिलता के प्रगतिशील प्रकटीकरण के सिद्धांत का पालन करें: इसे शुरू करना आसान है, और आप आगे बढ़ते हुए सीखकर उन्नत वर्कफ़्लो को पूरा कर सकते हैं।
  • संक्षिप्त, पठनीय कोड लिखने में आपकी सहायता करें।

केरस का उपयोग किसे करना चाहिए

संक्षिप्त उत्तर यह है कि प्रत्येक TensorFlow उपयोगकर्ता को डिफ़ॉल्ट रूप से Keras API का उपयोग करना चाहिए। चाहे आप इंजीनियर हों, शोधकर्ता हों, या एमएल प्रैक्टिशनर हों, आपको केरस से शुरुआत करनी चाहिए।

कुछ उपयोग के मामले हैं (उदाहरण के लिए, TensorFlow के शीर्ष पर उपकरण बनाना या अपना स्वयं का उच्च-प्रदर्शन प्लेटफ़ॉर्म विकसित करना) जिसके लिए निम्न-स्तरीय TensorFlow Core API की आवश्यकता होती है। लेकिन यदि आपका उपयोग मामला कोर एपीआई अनुप्रयोगों में से एक में नहीं आता है, तो आपको केरस को प्राथमिकता देनी चाहिए।

केरस एपीआई घटक

केरस की मुख्य डेटा संरचनाएं परतें और मॉडल हैं। एक परत एक सरल इनपुट/आउटपुट परिवर्तन है, और एक मॉडल परतों का एक निर्देशित एसाइक्लिक ग्राफ (डीएजी) है।

परतें

tf.keras.layers.Layer वर्ग केरस में मौलिक अमूर्त है। एक Layer एक स्थिति (वजन) और कुछ गणना ( tf.keras.layers.Layer.call विधि में परिभाषित) को समाहित करती है।

परतों द्वारा बनाए गए वज़न प्रशिक्षण योग्य या गैर-प्रशिक्षित हो सकते हैं। परतें पुनरावर्ती रूप से संयोजित होती हैं: यदि आप एक परत उदाहरण को किसी अन्य परत की विशेषता के रूप में निर्दिष्ट करते हैं, तो बाहरी परत आंतरिक परत द्वारा बनाए गए भार को ट्रैक करना शुरू कर देगी।

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

मॉडल

मॉडल एक ऐसी वस्तु है जो परतों को एक साथ समूहित करती है और जिसे डेटा पर प्रशिक्षित किया जा सकता है।

मॉडल का सबसे सरल प्रकार Sequential मॉडल है, जो परतों का एक रैखिक ढेर है। अधिक जटिल आर्किटेक्चर के लिए, आप या तो केरस कार्यात्मक एपीआई का उपयोग कर सकते हैं, जो आपको परतों के मनमाने ग्राफ़ बनाने की सुविधा देता है, या स्क्रैच से मॉडल लिखने के लिए उपवर्ग का उपयोग कर सकता है

tf.keras.Model वर्ग में अंतर्निहित प्रशिक्षण और मूल्यांकन विधियाँ शामिल हैं:

  • tf.keras.Model.fit : निश्चित संख्या में युगों के लिए मॉडल को प्रशिक्षित करता है।
  • tf.keras.Model.predict : इनपुट नमूनों के लिए आउटपुट पूर्वानुमान उत्पन्न करता है।
  • tf.keras.Model.evaluate : मॉडल के लिए हानि और मेट्रिक्स मान लौटाता है; tf.keras.Model.compile विधि के माध्यम से कॉन्फ़िगर किया गया।

ये विधियाँ आपको निम्नलिखित अंतर्निहित प्रशिक्षण सुविधाओं तक पहुँच प्रदान करती हैं:

  • कॉलबैक . आप जल्दी रुकने, मॉडल चेकपॉइंटिंग और टेन्सरबोर्ड मॉनिटरिंग के लिए अंतर्निहित कॉलबैक का लाभ उठा सकते हैं। आप कस्टम कॉलबैक भी लागू कर सकते हैं।
  • प्रशिक्षण वितरित किया गया । आप अपने प्रशिक्षण को आसानी से कई जीपीयू, टीपीयू या उपकरणों तक बढ़ा सकते हैं।
  • चरण फ़्यूज़िंग. tf.keras.Model.compile में steps_per_execution तर्क के साथ, आप एक ही tf.function कॉल में एकाधिक बैचों को संसाधित कर सकते हैं, जो TPU पर डिवाइस उपयोग में काफी सुधार करता है।

fit उपयोग कैसे करें के विस्तृत अवलोकन के लिए, प्रशिक्षण और मूल्यांकन मार्गदर्शिका देखें। अंतर्निहित प्रशिक्षण और मूल्यांकन लूप को अनुकूलित करने का तरीका जानने के लिए, fit() में क्या होता है इसे अनुकूलित करना देखें।

अन्य एपीआई और उपकरण

केरस गहन शिक्षण के लिए कई अन्य एपीआई और उपकरण प्रदान करता है, जिनमें शामिल हैं:

उपलब्ध एपीआई की पूरी सूची के लिए, केरस एपीआई संदर्भ देखें। अन्य केरस परियोजनाओं और पहलों के बारे में अधिक जानने के लिए, केरस पारिस्थितिकी तंत्र देखें।

अगले कदम

TensorFlow के साथ Keras का उपयोग शुरू करने के लिए, निम्नलिखित विषयों की जाँच करें:

केरस के बारे में अधिक जानने के लिए, keras.io पर निम्नलिखित विषय देखें: