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 के शीर्ष पर बनाया गया है। Keras का उपयोग करके लेयर्स के ग्राफ में नोड्स को निकालने और पुनः उपयोग करने का कोड स्निपेट निम्नलिखित है:
उदाहरण
print("VGG19 model with pre-trained weights") vgg19 = tf.keras.applications.VGG19() features_list = [layer.output for layer in vgg19.layers] feat_extraction_model = keras.Model(inputs=vgg19.input, outputs=features_list) img = np.random.random((1, 224, 224, 3)).astype("float32") print("Create feature-extraction model") extracted_features = feat_extraction_model(img)कोड क्रेडिट - https://www.tensorflow.org/guide/keras/functional
आउटपुट
VGG19 model with pre-trained weights Downloading data from https://storage.googleapis.com/tensorflow/kerasapplications/vgg19/vgg19_weights_tf_dim_ordering_tf_kernels.h5 574717952/574710816 [==============================] - 6s 0us/step Create feature-extraction model
व्याख्या
चूंकि लेयर्स का ग्राफ एक स्थिर डेटा संरचना है, इसलिए इसे एक्सेस किया जा सकता है।
यही कारण है कि फंक्शनल मॉडल को इमेज के रूप में प्लॉट किया जा सकता है।
इंटरमीडिएट लेयर्स (नोड्स) के एक्टिवेशन को भी एक्सेस और पुनः उपयोग किया जा सकता है।
यह फीचर एक्सट्रैक्शन उद्देश्यों के लिए बहुत उपयोगी है।
हम VGG19 मॉडल का उपयोग करेंगे जिसमें ImageNet की मदद से प्री-ट्रेंड वेट हैं।
इन इंटरमीडिएट एक्टिवेशन को ग्राफ डेटा संरचना को क्वेरी करके प्राप्त किया जा सकता है।
इन फीचर्स का उपयोग एक नया फीचर-एक्सट्रैक्शन मॉडल बनाने के लिए किया जा सकता है जो इंटरमीडिएट लेयर एक्टिवेशन के मान लौटाता है।