Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

क्या Keras मॉडल को केवल एक लेयर के रूप में माना जा सकता है और Python का उपयोग करके आमंत्रित किया जा सकता है? यदि हां, तो प्रदर्शित करें


Tensorflow Google द्वारा प्रदान किया गया एक मशीन लर्निंग फ्रेमवर्क है। यह एक ओपन-सोर्स फ्रेमवर्क है जिसे Python के साथ संयोजन में एल्गोरिदम, डीप लर्निंग एप्लिकेशन और बहुत कुछ लागू करने के लिए उपयोग किया जाता है। इसका उपयोग शोध और उत्पादन उद्देश्यों के लिए किया जाता है।

Keras को ONEIROS (ओपन-एंडेड न्यूरो-इलेक्ट्रॉनिक इंटेलिजेंट रोबोट ऑपरेटिंग सिस्टम) प्रोजेक्ट के शोध के हिस्से के रूप में विकसित किया गया था। Keras एक डीप लर्निंग API है, जो Python में लिखा गया है। यह एक हाई-लेवल API है जिसमें एक उत्पादक इंटरफ़ेस है जो मशीन लर्निंग समस्याओं को हल करने में मदद करता है। यह Tensorflow फ्रेमवर्क के शीर्ष पर चलता है। इसे त्वरित प्रयोग में मदद करने के लिए बनाया गया था। यह आवश्यक अमूर्तता और बिल्डिंग ब्लॉक प्रदान करता है जो मशीन लर्निंग समाधानों को विकसित और एनकैप्सुलेट करने में आवश्यक हैं।

यह अत्यधिक स्केलेबल है, और क्रॉस-प्लेटफ़ॉर्म क्षमताओं के साथ आता है। इसका मतलब है कि Keras को TPU या GPU के क्लस्टर पर चलाया जा सकता है। Keras मॉडल को वेब ब्राउज़र या मोबाइल फोन पर चलाने के लिए एक्सपोर्ट भी किया जा सकता है।

Keras पहले से ही Tensorflow पैकेज के भीतर मौजूद है। इसे नीचे दिए गए कोड की लाइन का उपयोग करके एक्सेस किया जा सकता है।

import tensorflow from tensorflow import keras

हां, Keras मॉडल को केवल एक लेयर के रूप में माना जा सकता है और Python का उपयोग करके आमंत्रित किया जा सकता है। Keras फंक्शनल API Sequential API का उपयोग करके बनाए गए मॉडल की तुलना में अधिक लचीले मॉडल बनाने में मदद करता है। फंक्शनल API नॉन-लीनियर टोपोलॉजी वाले मॉडल के साथ काम कर सकता है, लेयर्स साझा कर सकता है और कई इनपुट और आउटपुट के साथ काम कर सकता है। एक डीप लर्निंग मॉडल आमतौर पर एक डायरेक्टेड एसाइक्लिक ग्राफ (DAG) होता है जिसमें कई लेयर्स होती हैं। फंक्शनल API लेयर्स के ग्राफ को बनाने में मदद करता है।

हम नीचे दिए गए कोड को चलाने के लिए Google Colaboratory का उपयोग कर रहे हैं। Google Colab या Colaboratory ब्राउज़र पर Python कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPU (ग्राफिकल प्रोसेसिंग यूनिट्स) तक मुफ्त पहुंच की आवश्यकता होती है। Colaboratory को Jupyter Notebook के शीर्ष पर बनाया गया है। Keras मॉडल को लेयर के रूप में मानने और Python का उपयोग करके आमंत्रित करने का कोड स्निपेट निम्नलिखित है:

उदाहरण

Encoder_input = keras.Input(shape=(28, 28, 1), name="original_img") print("Adding layers to the model") x = layers.Conv2D(16, 3, activation="relu")(encoder_input) x = layers.Conv2D(32, 3, activation="relu")(x) x = layers.MaxPooling2D(3)(x) x = layers.Conv2D(32, 3, activation="relu")(x) x = layers.Conv2D(16, 3, activation="relu")(x) print("Performing golbal max pooling") encoder_output = layers.GlobalMaxPooling2D()(x) print("Creating a model using the layers") encoder = keras.Model(encoder_input, encoder_output, name="encoder") print("More information about the model") encoder.summary() decoder_input = keras.Input(shape=(16,), name="encoded_img") print("Reshaping the layers in the model") x = layers.Reshape((4, 4, 1))(decoder_input) x = layers.Conv2DTranspose(16, 3, activation="relu")(x) x = layers.Conv2DTranspose(32, 3, activation="relu")(x) x = layers.UpSampling2D(3)(x) x = layers.Conv2DTranspose(16, 3, activation="relu")(x) decoder_output = layers.Conv2DTranspose(1, 3, activation="relu")(x) print("Creating a model using the layers") decoder = keras.Model(decoder_input, decoder_output, name="decoder") print("More information about the model") decoder.summary() autoencoder_input = keras.Input(shape=(28, 28, 1), name="img") encoded_img = encoder(autoencoder_input) decoded_img = decoder(encoded_img) autoencoder = keras.Model(autoencoder_input, decoded_img, name="autoencoder") print("More information about the model") autoencoder.summary()

कोड क्रेडिट - https://www.tensorflow.org/guide/keras/functional

आउटपुट

original_img (InputLayer)                 [(None, 28, 28, 1)]                     0 _________________________________________________________________ conv2d_28 (Conv2D)                     (None, 26, 26, 16)                     160 _________________________________________________________________ conv2d_29 (Conv2D)                     (None, 24, 24, 32)                     4640 _________________________________________________________________ max_pooling2d_7 (MaxPooling2 (None, 8, 8, 32)                     0 _________________________________________________________________ conv2d_30 (Conv2D)                     (None, 6, 6, 32)                     9248 _________________________________________________________________ conv2d_31 (Conv2D)                     (None, 4, 4, 16)                     4624 _________________________________________________________________ global_max_pooling2d_3                 (Glob (None, 16)                     0 ================================================================= Total params: 18,672 Trainable params: 18,672 Non-trainable params: 0 _________________________________________________________________ Reshaping the layers in the model Creating a model using the layers More information about the model Model: "decoder" _________________________________________________________________ Layer (type)                     Output Shape                     Param # ================================================================= encoded_img (InputLayer)                 [(None, 16)]                     0 _________________________________________________________________ reshape_1 (Reshape)                     (None, 4, 4, 1)                     0 _________________________________________________________________ conv2d_transpose_4 (Conv2DTr (None, 6, 6, 16)                     160 _________________________________________________________________ conv2d_transpose_5 (Conv2DTr (None, 8, 8, 32)                     4640 _________________________________________________________________ up_sampling2d_1 (UpSampling2 (None, 24, 24, 32)                     0 _________________________________________________________________ conv2d_transpose_6 (Conv2DTr (None, 26, 26, 16)                     4624 _________________________________________________________________ conv2d_transpose_7 (Conv2DTr (None, 28, 28, 1)                     145 ================================================================= Total params: 9,569 Trainable params: 9,569 Non-trainable params: 0 _________________________________________________________________ More information about the model Model: "autoencoder" _________________________________________________________________ Layer (type)                     Output Shape                     Param # ================================================================= img (InputLayer)                     [(None, 28, 28, 1)]                     0 _________________________________________________________________ encoder (Functional)                 (None, 16)                     18672 _________________________________________________________________ decoder (Functional)                 (None, 28, 28, 1)                     9569 ================================================================= Total params: 28,241 Trainable params: 28,241 Non-trainable params: 0 _________________________________________________________________

व्याख्या

  • किसी भी मॉडल को 'इनपुट' या किसी अन्य लेयर के आउटपुट पर आमंत्रित करके एक लेयर के रूप में माना जा सकता है।

  • जब मॉडल को कॉल किया जाता है, तो आर्किटेक्चर का पुनः उपयोग किया जा रहा होता है।

  • इसके अलावा, वजन भी पुनः उपयोग किए जा रहे होते हैं।

  • ऑटोएन्कोडर मॉडल को एन्कोडर मॉडल, एक डिकोडर मॉडल का उपयोग करके बनाया जा सकता है।

  • ये दो मॉडल ऑटोएन्कोडर मॉडल प्राप्त करने के लिए दो कॉल में एक साथ जुड़े हुए हैं।


  1. Python प्रोग्राम का उपयोग करके Keras से मॉडल कैसे प्लॉट करें? Python प्रोग्राम का उपयोग करके Keras से मॉडल कैसे प्लॉट करें?

    Keras का ग्रीक में अर्थ हॉर्न होता है। Keras को ONEIROS (ओपन-एंडेड न्यूरो-इलेक्ट्रॉनिक इंटेलिजेंट रोबोट ऑपरेटिंग सिस्टम) प्रोजेक्ट के शोध के हिस्से के रूप में विकसित किया गया था। Keras एक डीप लर्निंग API है, जो Python में लिखा गया है। यह एक हाई-लेवल API है जिसमें एक उत्पादक इंटरफ़ेस है जो मशीन लर्नि

  1. Python का उपयोग करके Keras से मॉडल कैसे प्लॉट करें? Python का उपयोग करके Keras से मॉडल कैसे प्लॉट करें?

    Tensorflow Google द्वारा प्रदान किया गया एक मशीन लर्निंग फ्रेमवर्क है। यह एक ओपन-सोर्स फ्रेमवर्क है जिसे Python के साथ संयोजन में एल्गोरिदम, डीप लर्निंग एप्लिकेशन और बहुत कुछ लागू करने के लिए उपयोग किया जाता है। इसका उपयोग शोध और उत्पादन उद्देश्यों के लिए किया जाता है। इसमें ऑप्टिमाइज़ेशन तकनीकें है

  1. Python का उपयोग करके Keras से मॉडल को ग्राफ के रूप में प्लॉट करें और इनपुट/आउटपुट शेप प्रदर्शित करें Python का उपयोग करके Keras से मॉडल को ग्राफ के रूप में प्लॉट करें और इनपुट/आउटपुट शेप प्रदर्शित करें

    Tensorflow Google द्वारा प्रदान किया गया एक मशीन लर्निंग फ्रेमवर्क है। यह एक ओपन-सोर्स फ्रेमवर्क है जिसे Python के साथ संयोजन में एल्गोरिदम, डीप लर्निंग एप्लिकेशन, और बहुत कुछ लागू करने के लिए उपयोग किया जाता है। इसका उपयोग शोध और उत्पादन उद्देश्यों के लिए किया जाता है। इसमें ऑप्टिमाइज़ेशन तकनीकें ह