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

CNN मॉडल को प्रशिक्षित और संकलित करने के लिए TensorFlow का उपयोग कैसे किया जा सकता है?


एक कन्वोल्यूशनल न्यूरल नेटवर्क को 'train' विधि और 'fit' विधि का उपयोग करके प्रशिक्षित और संकलित किया जा सकता है। 'fit' विधि में 'epoch' मान प्रदान किया जाता है।

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

हम केरस Sequential API का उपयोग करेंगे, जो एक सादे स्टैक के साथ काम करने के लिए एक अनुक्रमिक मॉडल बनाने में मददगार है, जहां प्रत्येक परत में ठीक एक इनपुट टेंसर और एक आउटपुट टेंसर होता है।

एक न्यूरल नेटवर्क जिसमें कम से कम एक परत होती है उसे कन्वोल्यूशनल परत के रूप में जाना जाता है। कन्वोल्यूशनल न्यूरल नेटवर्क का उपयोग छवि पहचान जैसे विशिष्ट प्रकार की समस्याओं के लिए शानदार परिणाम देने के लिए किया गया है।

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

print("Compiling the model")
model.compile(optimizer='adam', loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
              metrics=['accuracy'])
print("Training the model to fit the data")
history = model.fit(train_images, train_labels, epochs=10, validation_data=(test_images, test_labels))

कोड क्रेडिट: https://www.tensorflow.org/tutorials/images/cnn

आउटपुट

Compiling the model
Training the model to fit the data
Epoch 1/10 1563/1563 [==============================] - 70s 44ms/step - loss: 1.7408 - accuracy: 0.3557 - val_loss: 1.2260 - val_accuracy: 0.5509
Epoch 2/10 1563/1563 [==============================] - 67s 43ms/step - loss: 1.1928 - accuracy: 0.5751 - val_loss: 1.0800 - val_accuracy: 0.6159
Epoch 3/10 1563/1563 [==============================] - 68s 43ms/step - loss: 1.0330 - accuracy: 0.6396 - val_loss: 0.9791 - val_accuracy: 0.6562
Epoch 4/10 1563/1563 [==============================] - 66s 43ms/step - loss: 0.9197 - accuracy: 0.6782 - val_loss: 0.9488 - val_accuracy: 0.6677
Epoch 5/10 1563/1563 [==============================] - 65s 42ms/step - loss: 0.8388 - accuracy: 0.7043 - val_loss: 0.9090 - val_accuracy: 0.6851
Epoch 6/10 1563/1563 [==============================] - 66s 42ms/step - loss: 0.7755 - accuracy: 0.7279 - val_loss: 0.8694 - val_accuracy: 0.6944
Epoch 7/10 1563/1563 [==============================] - 66s 42ms/step - loss: 0.7107 - accuracy: 0.7494 - val_loss: 0.9152 - val_accuracy: 0.6929
Epoch 8/10 1563/1563 [==============================] - 65s 42ms/step - loss: 0.6674 - accuracy: 0.7649 - val_loss: 0.8613 - val_accuracy: 0.7045
Epoch 9/10 1563/1563 [==============================] - 66s 42ms/step - loss: 0.6288 - accuracy: 0.7771 - val_loss: 0.8788 - val_accuracy: 0.7026
Epoch 10/10 1563/1563 [==============================] - 66s 42ms/step - loss: 0.5913 - accuracy: 0.7953 - val_loss: 0.8884 - val_accuracy: 0.7053

व्याख्या

  • मॉडल संकलित किया जाता है।
  • अगला चरण मॉडल को प्रशिक्षण डेटा फिट करने के लिए प्रशिक्षित करना है।
  • डेटा प्रशिक्षित करने के चरणों की संख्या 10 है।

  1. केरस (Keras) में नए कॉलबैक के साथ मॉडल प्रशिक्षित करना केरस (Keras) में नए कॉलबैक के साथ मॉडल प्रशिक्षित करना

    ModelCheckpoint कॉलबैक से प्रशिक्षण के दौरान वेट्स सेव करना ModelCheckpoint कॉलबैक प्रशिक्षण के दौरान निर्दिष्ट अंतराल पर मॉडल वेट्स/पूरा मॉडल सेव करता है। कोड उदाहरण import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers from tensorflow.keras.callbacks import Mode

  1. MNIST डेटासेट के लिए TensorFlow का उपयोग करके मॉडल कैसे परिभाषित करें? MNIST डेटासेट के लिए TensorFlow का उपयोग करके मॉडल कैसे परिभाषित करें?

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

  1. Python का उपयोग करके TensorFlow से रैखिक मॉडल को कैसे प्रशिक्षित करें? Python का उपयोग करके TensorFlow से रैखिक मॉडल को कैसे प्रशिक्षित करें?

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