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

पायथन का उपयोग करके परतों की रचना के लिए Tensorflow का उपयोग कैसे किया जा सकता है?

Tensorflow का उपयोग 'ResnetIdentityBlock' से विरासत में मिले वर्ग को परिभाषित करके परतों की रचना के लिए किया जा सकता है। इसका उपयोग एक ब्लॉक को परिभाषित करने के लिए किया जाता है जिसका उपयोग परतों को बनाने के लिए किया जा सकता है।

और पढ़ें: TensorFlow क्या है और Keras कैसे तंत्रिका नेटवर्क बनाने के लिए TensorFlow के साथ काम करता है?

एक तंत्रिका नेटवर्क जिसमें कम से कम एक परत होती है, एक दृढ़ परत के रूप में जानी जाती है। हम लर्निंग मॉडल बनाने के लिए कन्वेन्शनल न्यूरल नेटवर्क का उपयोग कर सकते हैं।

TensorFlow हब एक भंडार है जिसमें पूर्व-प्रशिक्षित TensorFlow मॉडल शामिल हैं। TensorFlow का उपयोग सीखने के मॉडल को ठीक करने के लिए किया जा सकता है। हम समझेंगे कि tf.keras के साथ TensorFlow हब से मॉडल का उपयोग कैसे करें, TensorFlow हब से छवि वर्गीकरण मॉडल का उपयोग करें। एक बार यह हो जाने के बाद, अनुकूलित छवि वर्गों के लिए एक मॉडल को फाइन-ट्यून करने के लिए ट्रांसफर लर्निंग की जा सकती है। यह एक छवि लेने के लिए एक पूर्व-प्रशिक्षित क्लासिफायरियर मॉडल का उपयोग करके किया जाता है और भविष्यवाणी करता है कि यह क्या है। यह बिना किसी प्रशिक्षण की आवश्यकता के किया जा सकता है।

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

उदाहरण

print("Composing layers")
class ResnetIdentityBlock(tf.keras.Model):
   def __init__(self, kernel_size, filters):
      super(ResnetIdentityBlock, self).__init__(name='')
      filters1, filters2, filters3 = filters
      self.conv2a = tf.keras.layers.Conv2D(filters1, (1, 1))
      self.bn2a = tf.keras.layers.BatchNormalization()
      self.conv2b = tf.keras.layers.Conv2D(filters2, kernel_size, padding='same')
      self.bn2b = tf.keras.layers.BatchNormalization()
      self.conv2c = tf.keras.layers.Conv2D(filters3, (1, 1))
      self.bn2c = tf.keras.layers.BatchNormalization()
   def call(self, input_tensor, training=False):
      x = self.conv2a(input_tensor)
      x = self.bn2a(x, training=training)
      x = tf.nn.relu(x)
      x = self.conv2b(x)
      x = self.bn2b(x, training=training)
      x = tf.nn.relu(x)
      x = self.conv2c(x)
      x = self.bn2c(x, training=training)
      x += input_tensor
      return tf.nn.relu(x)
print("The layer is called")
block = ResnetIdentityBlock(1, [1, 2, 3])
_ = block(tf.zeros([1, 2, 3, 3]))
block.layers
len(block.variables)
block.summary()

कोड क्रेडिट -https://www.tensorflow.org/tutorials/customization/custom_layers

आउटपुट

Composing layers
The layer is called
Model: "resnet_identity_block"
_________________________________________________________________
Layer (type)        Output Shape      Param #
=================================================================
conv2d (Conv2D)       multiple          4
_________________________________________________________________
batch_normalization (BatchNo multiple   4
_________________________________________________________________
conv2d_1 (Conv2D)      multiple        4
_________________________________________________________________
batch_normalization_1 (Batch multiple  8
_________________________________________________________________
conv2d_2 (Conv2D)     multiple         9
_________________________________________________________________
batch_normalization_2 (Batch multiple  12
=================================================================
Total params: 41
Trainable params: 29
Non-trainable params: 12

स्पष्टीकरण

  • एक रेसनेट में प्रत्येक अवशिष्ट ब्लॉक कनवल्शन, बैच सामान्यीकरण और एक शॉर्टकट से बना होता है।

  • परतों को अन्य परतों के अंदर भी नेस्ट किया जा सकता है।

  • जब हमें Model.fit,Model.evaluate, और Model.save जैसी मॉडल विधियों की आवश्यकता होती है, तो इसे keras.Model से इनहेरिट किया जा सकता है।

  • keras.layers.Layer के बजाय keras.Model का उपयोग किया जाता है, जो चर को ट्रैक करने में मदद करता है।

  • एक keras.Model अपनी आंतरिक परतों को ट्रैक करता है, जिससे परतों का निरीक्षण करना आसान हो जाता है


  1. पायथन का उपयोग करके दो मैट्रिक्स जोड़ने के लिए Tensorflow का उपयोग कैसे किया जा सकता है?

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

  1. पायथन का उपयोग करके मॉडल को प्लॉट करने के लिए केरस का उपयोग कैसे किया जा सकता है?

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

  1. चर्चा करें कि केरस कार्यात्मक एपीआई का उपयोग पायथन का उपयोग करके परतें बनाने के लिए कैसे किया जा सकता है

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