Keras एक ओपन-सोर्स लाइब्रेरी है जो कृत्रिम तंत्रिका नेटवर्क के लिए एक Python इंटरफ़ेस प्रदान करती है। इसे गहरे तंत्रिका नेटवर्क के साथ तेज़ प्रयोग को सक्षम करने के लिए डिज़ाइन किया गया है, और यह उपयोगकर्ता-अनुकूल, मॉड्यूलर और विस्तार योग्य होने पर केंद्रित है। लाइब्रेरी को पहली बार 2015 में स्वतंत्र सॉफ्टवेयर के रूप में जारी किया गया था, बाद में इसे TensorFlow लाइब्रेरी में एकीकृत किया गया, और अंततः अतिरिक्त बैकएंड का समर्थन करने के लिए विस्तारित किया गया। Keras 3, एक पूर्ण पुनर्लेखन, कस्टम घटकों जैसे कि परतों, मॉडलों या मेट्रिक्स को विकसित करने के लिए एक निम्न-स्तरीय क्रॉस-फ्रेमवर्क भाषा के रूप में कार्य करता है, जिसे JAX, TensorFlow, या PyTorch में मूल वर्कफ़्लो में एक कोडबेस के साथ उपयोग किया जा सकता है। TensorFlow 2.16 के अनुसार, Keras 3 डिफ़ॉल्ट संस्करण है, हालांकि Keras 2 विरासत उपयोग के लिए उपलब्ध रहता है।
इतिहास
'Keras' नाम प्राचीन ग्रीक शब्द κέρας (Keras) से लिया गया है, जिसका अर्थ 'सींग' है। लाइब्रेरी को परियोजना ONEIROS (ओपन-एंडेड न्यूरो-इलेक्ट्रॉनिक इंटेलिजेंट रोबोट ऑपरेटिंग सिस्टम) के शोध प्रयास के हिस्से के रूप में विकसित किया गया था। इसके प्राथमिक लेखक और अनुरक्षक François Chollet हैं, जो 2024 में कंपनी छोड़ने तक Google इंजीनियर थे। Chollet Xception गहरे तंत्रिका नेटवर्क मॉडल के लेखक भी हैं। संस्करण 2.3 तक, Keras ने TensorFlow, Microsoft Cognitive Toolkit, Theano, और PlaidML सहित कई बैकएंड का समर्थन किया। संस्करण 2.4 से संस्करण 3.0 तक, केवल TensorFlow का समर्थन किया गया था। संस्करण 3.0 से शुरू होकर, साथ ही इसके पूर्वावलोकन संस्करण Keras Core के साथ, लाइब्रेरी फिर से मल्टी-बैकएंड बन गई, जो TensorFlow, JAX, और PyTorch का समर्थन करती है, साथ ही OpenVINO के लिए अतिरिक्त समर्थन भी।
विशेषताएँ
Keras में सामान्य रूप से उपयोग किए जाने वाले तंत्रिका-नेटवर्क बिल्डिंग ब्लॉकों के कई कार्यान्वयन शामिल हैं, जैसे कि परतें, उद्देश्य, सक्रियण फ़ंक्शन, ऑप्टिमाइज़र, और छवि और पाठ डेटा के साथ काम करने के लिए उपकरण। ये गहरे तंत्रिका नेटवर्क के लिए प्रोग्रामिंग को सरल बनाते हैं। कोड GitHub पर होस्ट किया गया है, और सामुदायिक समर्थन फ़ोरम में GitHub मुद्दे पृष्ठ शामिल हैं। मानक तंत्रिका नेटवर्क के अलावा, Keras कन्वोल्यूशनल और आवर्तक तंत्रिका नेटवर्क का समर्थन करता है। इसमें ड्रॉपआउट, बैच सामान्यीकरण, और पूलिंग जैसी सामान्य उपयोगिता परतें शामिल हैं। लाइब्रेरी उपयोगकर्ताओं को स्मार्टफोन (iOS और Android), वेब पर, या Java वर्चुअल मशीन पर गहरे मॉडल बनाने की अनुमति देती है। यह ग्राफिक्स प्रोसेसिंग यूनिट (GPU) और टेंसर प्रोसेसिंग यूनिट (TPU) के क्लस्टर पर गहरे-शिक्षण मॉडल के वितरित प्रशिक्षण को भी सक्षम बनाती है।
अपनाना और प्रभाव
Keras Deep learning समुदाय के भीतर एक व्यापक रूप से अपनाया गया उच्च-स्तरीय API बन गया, विशेष रूप से TensorFlow में मॉडल निर्माण के लिए प्राथमिक इंटरफ़ेस के रूप में एकीकरण के बाद। सरलता और तेज़ प्रोटोटाइपिंग पर इसका जोर इसे Machine learning और Artificial intelligence में चिकित्सकों के लिए एक सामान्य प्रवेश बिंदु बनाता है। लाइब्रेरी के डिज़ाइन ने बाद के फ्रेमवर्क को प्रभावित किया और Neural network विकास की व्यापक पहुंच में योगदान दिया। संस्करण 3.0 में कई बैकएंड का समर्थन करके, Keras का उद्देश्य विभिन्न कम्प्यूटेशनल पारिस्थितिकी तंत्रों में एक एकीकृत इंटरफ़ेस प्रदान करना था, जिसमें अनुसंधान और उत्पादन वातावरण में उपयोग किए जाने वाले शामिल हैं।
तकनीकी विकास
Keras 3 में संक्रमण ने एक महत्वपूर्ण वास्तुशिल्प बदलाव को चिह्नित किया, जिससे उपयोगकर्ता कस्टम परतें, मॉडल या मेट्रिक्स लिख सकते हैं जो संशोधन के बिना JAX, TensorFlow, या PyTorch में मूल रूप से चल सकते हैं। इस क्रॉस-फ्रेमवर्क क्षमता ने गहरे-शिक्षण उपकरण परिदृश्य में विखंडन को संबोधित किया। लाइब्रेरी ने विविध वर्कफ़्लो का समर्थन करने के लिए Data Augmentation तकनीकों और अन्य उपयोगिताओं के साथ भी एकीकृत किया। Keras 2, पुराना संस्करण, उन परियोजनाओं के लिए कार्यात्मक बना हुआ है जो इसके विशिष्ट व्यवहार पर निर्भर हैं, जो मौजूदा कोडबेस के लिए पिछड़ी संगतता सुनिश्चित करता है।