Keras को ONEIROS (ओपन-एंडेड न्यूरो-इलेक्ट्रॉनिक इंटेलिजेंट रोबोट ऑपरेटिंग सिस्टम) प्रोजेक्ट के शोध के हिस्से के रूप में विकसित किया गया था। Keras एक डीप लर्निंग API है, जो Python में लिखा गया है। यह एक हाई-लेवल API है जिसमें एक उत्पादक इंटरफ़ेस है जो मशीन लर्निंग समस्याओं को हल करने में मदद करता है।
यह Tensorflow फ्रेमवर्क के शीर्ष पर चलता है। इसे त्वरित प्रयोग में मदद करने के लिए बनाया गया था। यह आवश्यक अमूर्तता और बिल्डिंग ब्लॉक प्रदान करता है जो मशीन लर्निंग समाधानों को विकसित और एनकैप्सुलेट करने में आवश्यक हैं।
यह अत्यधिक स्केलेबल है, और क्रॉस-प्लेटफ़ॉर्म क्षमताओं के साथ आता है। इसका मतलब है कि Keras को TPU या GPU के क्लस्टर पर चलाया जा सकता है। Keras मॉडल को वेब ब्राउज़र या मोबाइल फोन पर चलाने के लिए एक्सपोर्ट भी किया जा सकता है।
Keras पहले से ही Tensorflow पैकेज के भीतर मौजूद है। इसे नीचे दिए गए कोड की लाइन का उपयोग करके एक्सेस किया जा सकता है।
import tensorflow from tensorflow import keras
Keras फंक्शनल API Sequential API का उपयोग करके बनाए गए मॉडल की तुलना में अधिक लचीले मॉडल बनाने में मदद करता है। फंक्शनल API नॉन-लीनियर टोपोलॉजी वाले मॉडल के साथ काम कर सकता है, लेयर्स साझा कर सकता है और कई इनपुट और आउटपुट के साथ काम कर सकता है। एक डीप लर्निंग मॉडल आमतौर पर एक डायरेक्टेड एसाइक्लिक ग्राफ (DAG) होता है जिसमें कई लेयर्स होती हैं। फंक्शनल API लेयर्स के ग्राफ को बनाने में मदद करता है।
हम नीचे दिए गए कोड को चलाने के लिए Google Colaboratory का उपयोग कर रहे हैं। Google Colab या Colaboratory ब्राउज़र पर Python कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPU (ग्राफिकल प्रोसेसिंग यूनिट्स) तक मुफ्त पहुंच की आवश्यकता होती है। Colaboratory को Jupyter Notebook के शीर्ष पर बनाया गया है। कोड स्निपेट निम्नलिखित है:
उदाहरण
print("Model is being compiled") model.compile( optimizer=keras.optimizers.RMSprop(1e-3), loss={ "priority": keras.losses.BinaryCrossentropy(from_logits=True), "department": keras.losses.CategoricalCrossentropy(from_logits=True), }, loss_weights=[1.0, 0.2], )कोड क्रेडिट - https://www.tensorflow.org/guide/keras/functional
आउटपुट
Model is being compiled
व्याख्या
'compile' विधि का उपयोग करके मॉडल को संकलित किया जाता है।
संकलन के दौरान प्रत्येक आउटपुट को अलग-अलग लॉस असाइन किए जा सकते हैं।
विभिन्न लॉस को अलग-अलग वजन भी असाइन किए जा सकते हैं, इस तरह कुल प्रशिक्षण लॉस को नियंत्रित किया जाएगा।