केरस को प्रोजेक्ट ONEIROS (ओपन एंडेड न्यूरो-इलेक्ट्रॉनिक इंटेलिजेंट रोबोट ऑपरेटिंग सिस्टम) के लिए अनुसंधान के एक भाग के रूप में विकसित किया गया था। केरस एक डीप लर्निंग एपीआई है, जिसे पायथन में लिखा गया है। यह एक उच्च-स्तरीय एपीआई है जिसमें एक उत्पादक इंटरफ़ेस है जो मशीन सीखने की समस्याओं को हल करने में मदद करता है। यह Tensorflow ढांचे के शीर्ष पर चलता है। इसे त्वरित तरीके से प्रयोग में मदद करने के लिए बनाया गया था। यह आवश्यक सार तत्व और बिल्डिंग ब्लॉक्स प्रदान करता है जो मशीन लर्निंग सॉल्यूशंस को विकसित करने और इनकैप्सुलेट करने के लिए आवश्यक हैं।
यह अत्यधिक स्केलेबल है और क्रॉस-प्लेटफ़ॉर्म क्षमताओं के साथ आता है। इसका मतलब है कि केरस को टीपीयू या जीपीयू के क्लस्टर पर चलाया जा सकता है। केरस मॉडल को वेब ब्राउज़र या मोबाइल फोन में भी चलाने के लिए निर्यात किया जा सकता है।
केरस पहले से ही Tensorflow पैकेज में मौजूद है। इसे कोड की निम्न पंक्ति का उपयोग करके एक्सेस किया जा सकता है -
import tensorflow from tensorflow import keras
केरस कार्यात्मक एपीआई ऐसे मॉडल बनाने में मदद करता है जो अनुक्रमिक एपीआई का उपयोग करके बनाए गए मॉडल की तुलना में अधिक लचीले होते हैं। कार्यात्मक एपीआई उन मॉडलों के साथ काम कर सकता है जिनमें गैर-रेखीय टोपोलॉजी है, परतों को साझा कर सकते हैं और कई इनपुट और आउटपुट के साथ काम कर सकते हैं। एक गहन शिक्षण मॉडल आमतौर पर एक निर्देशित चक्रीय ग्राफ (DAG) होता है जिसमें कई परतें होती हैं। कार्यात्मक एपीआई परतों का ग्राफ बनाने में मदद करता है।
हम नीचे दिए गए कोड को चलाने के लिए Google सहयोग का उपयोग कर रहे हैं। Google Colab या Colaboratory ब्राउज़र पर पायथन कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPU (ग्राफ़िकल प्रोसेसिंग यूनिट) तक मुफ्त पहुंच की आवश्यकता होती है। जुपिटर नोटबुक के ऊपर कोलैबोरेटरी बनाई गई है। पायथन का उपयोग करके परतों को साझा करने के लिए एम्बेडिंग परत के साथ उपयोग किए जाने वाले केरस को लागू करने के लिए कोड स्निपेट निम्नलिखित है -
उदाहरण
print("Embedding for 2000 unique words mapped to 128-dimensional vectors") shared_embedding = layers.Embedding(2000, 128) print("Variable-length integer sequence") text_input_a = keras.Input(shape=(None,), dtype="int32") print("Variable-length integer sequence") text_input_b = keras.Input(shape=(None,), dtype="int32") print("Reuse the same layers to encode both the inputs") encoded_input_a = shared_embedding(text_input_a) encoded_input_b = shared_embedding(text_input_b)
कोड क्रेडिट - https://www.tensorflow.org/guide/keras/functional
आउटपुट
Embedding for 2000 unique words mapped to 128-dimensional vectors Variable-length integer sequence Variable-length integer sequence Reuse the same layers to encode both the inputs
स्पष्टीकरण
-
कार्यात्मक API मॉडल साझा परतों का उपयोग करते हैं।
-
ये साझा परतें ऐसे उदाहरण हैं जिनका एक ही मॉडल में कई बार पुन:उपयोग किया जा सकता है।
-
ये परतें उन विशेषताओं को सीखती हैं जो ग्राफ़ में कई पथों के अनुरूप होती हैं।
-
साझा परतों का उपयोग टेक्स्ट के दो अलग-अलग हिस्सों से इनपुट को एन्कोड करने के लिए भी किया जाता है जिनमें समान शब्दावली होती है।
-
इस तरह, विभिन्न इनपुट में जानकारी साझा करना संभव है।
-
इसके कारण, मॉडल को कम मात्रा में डेटा पर प्रशिक्षित किया जा सकता है।
-
उपरोक्त कोड में 'एम्बेडिंग' परत दो अलग-अलग टेक्स्ट में साझा की गई है।