केरस टेंसरफ्लो प्लेटफॉर्म का उच्च स्तरीय एपीआई है। यह मशीन लर्निंग (एमएल) समस्याओं को हल करने के लिए आधुनिक डीप लर्निंग पर ध्यान देने के साथ एक सुलभ, अत्यधिक उत्पादक इंटरफ़ेस प्रदान करता है। केरस मशीन लर्निंग वर्कफ़्लो के हर चरण को डेटा प्रोसेसिंग से लेकर हाइपरपैरामीटर ट्यूनिंग तक परिनियोजन तक कवर करता है। इसे तेजी से प्रयोग को सक्षम करने पर ध्यान देने के साथ विकसित किया गया था।
केरस के साथ, आपके पास TensorFlow की मापनीयता और क्रॉस-प्लेटफ़ॉर्म क्षमताओं तक पूरी पहुँच है। आप Keras को TPU पॉड या GPU के बड़े समूहों पर चला सकते हैं, और आप Keras मॉडल को ब्राउज़र या मोबाइल उपकरणों पर चलाने के लिए निर्यात कर सकते हैं। आप वेब एपीआई के माध्यम से केरस मॉडल की सेवा भी कर सकते हैं।
केरस को निम्नलिखित लक्ष्यों को प्राप्त करके संज्ञानात्मक भार को कम करने के लिए डिज़ाइन किया गया है:
- सरल, सुसंगत इंटरफेस प्रदान करें।
- सामान्य उपयोग के मामलों के लिए आवश्यक कार्रवाइयों की संख्या कम करें।
- स्पष्ट, कार्रवाई योग्य त्रुटि संदेश प्रदान करें।
- जटिलता के प्रगतिशील प्रकटीकरण के सिद्धांत का पालन करें: आरंभ करना आसान है, और जैसे-जैसे आप आगे बढ़ते हैं, सीखकर आप उन्नत कार्यप्रवाहों को पूरा कर सकते हैं।
- संक्षिप्त, पठनीय कोड लिखने में आपकी सहायता करें।
केरस का उपयोग किसे करना चाहिए
संक्षिप्त उत्तर यह है कि प्रत्येक TensorFlow उपयोगकर्ता को डिफ़ॉल्ट रूप से Keras API का उपयोग करना चाहिए। चाहे आप इंजीनियर हों, शोधकर्ता हों या एमएल व्यवसायी हों, आपको केरस से शुरुआत करनी चाहिए।
कुछ उपयोग के मामले हैं (उदाहरण के लिए, TensorFlow के शीर्ष पर उपकरण बनाना या अपना स्वयं का उच्च-प्रदर्शन प्लेटफ़ॉर्म विकसित करना) जिसके लिए निम्न-स्तरीय TensorFlow Core API की आवश्यकता होती है। लेकिन यदि आपका उपयोग मामला कोर एपीआई अनुप्रयोगों में से एक में नहीं आता है, तो आपको केरस को प्राथमिकता देनी चाहिए।
केरस एपीआई घटक
केरस की मुख्य डेटा संरचनाएं परतें और मॉडल हैं। एक परत एक साधारण इनपुट/आउटपुट परिवर्तन है, और एक मॉडल परतों का एक निर्देशित विश्वकोश ग्राफ (DAG) है।
परतें
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
विधि के माध्यम से कॉन्फ़िगर किया गया।
ये विधियाँ आपको निम्नलिखित अंतर्निहित प्रशिक्षण सुविधाओं तक पहुँच प्रदान करती हैं:
- कॉलबैक । आप जल्दी रुकने, मॉडल चेकपॉइंटिंग और TensorBoard मॉनिटरिंग के लिए बिल्ट-इन कॉलबैक का लाभ उठा सकते हैं। आप कस्टम कॉलबैक भी लागू कर सकते हैं।
- वितरित प्रशिक्षण । आप आसानी से अपने प्रशिक्षण को कई जीपीयू, टीपीयू या उपकरणों में बढ़ा सकते हैं।
- स्टेप फ्यूजिंग।
tf.keras.Model.compile
मेंsteps_per_execution
तर्क के साथ, आप एक हीtf.function
कॉल में कई बैचों को प्रोसेस कर सकते हैं, जो TPU पर डिवाइस के उपयोग में बहुत सुधार करता है।
fit
का उपयोग करने के तरीके के विस्तृत अवलोकन के लिए, प्रशिक्षण और मूल्यांकन मार्गदर्शिका देखें। अंतर्निहित प्रशिक्षण और मूल्यांकन लूप को अनुकूलित करने का तरीका जानने के लिए, fit()
में क्या होता है अनुकूलित करना देखें।
अन्य एपीआई और उपकरण
केरस गहरी शिक्षा के लिए कई अन्य एपीआई और उपकरण प्रदान करता है, जिनमें शामिल हैं:
उपलब्ध APIs की पूरी सूची के लिए, Keras API संदर्भ देखें। अन्य केरस परियोजनाओं और पहलों के बारे में अधिक जानने के लिए, द केरस इकोसिस्टम देखें।
अगले कदम
TensorFlow के साथ Keras का उपयोग शुरू करने के लिए, निम्नलिखित विषयों पर नज़र डालें:
- अनुक्रमिक मॉडल
- कार्यात्मक एपीआई
- अंतर्निहित विधियों के साथ प्रशिक्षण और मूल्यांकन
- उपवर्गीकरण के माध्यम से नई परतें और मॉडल बनाना
- क्रमांकन और बचत
- प्रीप्रोसेसिंग परतों के साथ काम करना
- फ़िट में क्या होता है उसे अनुकूलित करना ()
- स्क्रैच से प्रशिक्षण लूप लिखना
- आरएनएन के साथ काम करना
- मास्किंग और पैडिंग को समझना
- अपने स्वयं के कॉलबैक लिखना
- ट्रांसफर लर्निंग और फाइन-ट्यूनिंग
- मल्टी-जीपीयू और वितरित प्रशिक्षण
केरस के बारे में अधिक जानने के लिए, निम्नलिखित विषयों को keras.io पर देखें: