Tensorflow Google द्वारा प्रदान किया गया एक मशीन लर्निंग फ्रेमवर्क है। यह एक ओपन-सोर्स फ्रेमवर्क है जिसे Python के साथ संयोजन में एल्गोरिदम, डीप लर्निंग एप्लिकेशन और बहुत कुछ लागू करने के लिए उपयोग किया जाता है। इसका उपयोग शोध और उत्पादन उद्देश्यों के लिए किया जाता है।
'tensorflow' पैकेज को Windows पर नीचे दिए गए कोड की लाइन का उपयोग करके इंस्टॉल किया जा सकता है:
pip install tensorflow
Tensor, TensorFlow में उपयोग की जाने वाली एक डेटा संरचना है। यह फ्लो डायग्राम में एज को कनेक्ट करने में मदद करता है। इस फ्लो डायग्राम को 'डेटा फ्लो ग्राफ' के रूप में जाना जाता है। Tensors एक बहुआयामी सरणी या सूची के अलावा कुछ नहीं हैं।
Keras को ONEIROS (ओपन-एंडेड न्यूरो-इलेक्ट्रॉनिक इंटेलिजेंट रोबोट ऑपरेटिंग सिस्टम) प्रोजेक्ट के शोध के हिस्से के रूप में विकसित किया गया था। Keras एक डीप लर्निंग API है, जो Python में लिखा गया है। यह एक हाई-लेवल API है जिसमें एक उत्पादक इंटरफ़ेस है जो मशीन लर्निंग समस्याओं को हल करने में मदद करता है। यह Tensorflow फ्रेमवर्क के शीर्ष पर चलता है। इसे त्वरित प्रयोग में मदद करने के लिए बनाया गया था। यह आवश्यक अमूर्तता और बिल्डिंग ब्लॉक प्रदान करता है जो मशीन लर्निंग समाधानों को विकसित और एनकैप्सुलेट करने में आवश्यक हैं।
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 के शीर्ष पर बनाया गया है। एन्कोडर और डिकोडर का उपयोग करके ऑटोएन्कोडर कैसे उत्पन्न किया जा सकता है, यह देखने का कोड स्निपेट निम्नलिखित है:
उदाहरण
encoder_input = keras.Input(shape=(28, 28, 1), name="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 global 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() print("Reshaping the layers in the model") x = layers.Reshape((4, 4, 1))(encoder_output) 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) autoencoder = keras.Model(encoder_input, decoder_output, name="autoencoder") print("More information about the autoencoder") autoencoder.summary()कोड क्रेडिट - https://www.tensorflow.org/guide/keras/functional
आउटपुट
Adding layers to the model Performing global max pooling Creating a model using the layers More information about the model Model: "encoder" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= img (InputLayer) [(None, 28, 28, 1)] 0 _________________________________________________________________ conv2d (Conv2D) (None, 26, 26, 16) 160 _________________________________________________________________ conv2d_1 (Conv2D) (None, 24, 24, 32) 4640 _________________________________________________________________ max_pooling2d (MaxPooling2D) (None, 8, 8, 32) 0 _________________________________________________________________ conv2d_2 (Conv2D) (None, 6, 6, 32) 9248 _________________________________________________________________ conv2d_3 (Conv2D) (None, 4, 4, 16) 4624 _________________________________________________________________ global_max_pooling2d (Global (None, 16) 0 ================================================================= Total params: 18,672 Trainable params: 18,672 Non-trainable params: 0 _________________________________________________________________ Reshaping the layers in the model More information about the autoencoder Model: "autoencoder" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= img (InputLayer) [(None, 28, 28, 1)] 0 _________________________________________________________________ conv2d (Conv2D) (None, 26, 26, 16) 160 _________________________________________________________________ conv2d_1 (Conv2D) (None, 24, 24, 32) 4640 _________________________________________________________________ max_pooling2d (MaxPooling2D) (None, 8, 8, 32) 0 _________________________________________________________________ conv2d_2 (Conv2D) (None, 6, 6, 32) 9248 _________________________________________________________________ conv2d_3 (Conv2D) (None, 4, 4, 16) 4624 _________________________________________________________________ global_max_pooling2d (Global (None, 16) 0 _________________________________________________________________ reshape (Reshape) (None, 4, 4, 1) 0 _________________________________________________________________ conv2d_transpose (Conv2DTran (None, 6, 6, 16) 160 _________________________________________________________________ conv2d_transpose_1 (Conv2DTr (None, 8, 8, 32) 4640 _________________________________________________________________ up_sampling2d (UpSampling2D) (None, 24, 24, 32) 0 _________________________________________________________________ conv2d_transpose_2 (Conv2DTr (None, 26, 26, 16) 4624 _________________________________________________________________ conv2d_transpose_3 (Conv2DTr (None, 28, 28, 1) 145 ================================================================= Total params: 28,241 Trainable params: 28,241 Non-trainable params: 0 _________________________________________________________________
व्याख्या
मॉडल में लेयर्स जोड़ी जाती हैं।
इन लेयर्स पर ग्लोबल मैक्स पूलिंग की जाती है।
लेयर्स का उपयोग करके एक मॉडल बनाया जाता है।
'summary' विधि का उपयोग करके मॉडल के बारे में अधिक जानकारी प्रदर्शित की जा सकती है।
फंक्शनल API का उपयोग करके, ग्राफ-ऑफ-लेयर्स के लिए इनपुट और आउटपुट निर्दिष्ट करने के बाद मॉडल बनाए जाते हैं।
यह इंगित करता है कि एक ही ग्राफ का उपयोग कई मॉडल उत्पन्न करने के लिए किया जा सकता है।
यहां, लेयर्स के स्टैक का उपयोग दो मॉडल इंस्टेंशिएट करने के लिए किया जाता है - एक एन्कोडर जो इमेज इनपुट को 16-डायमेंशनल वेक्टर में बदलता है और एक ऑटोएन्कोडर मॉडल जिसका उपयोग प्रशिक्षण के लिए किया जाता है।