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

Python में IMDB डेटासेट पर लॉस फ़ंक्शन, ऑप्टिमाइज़र को परिभाषित करने, मॉडल को प्रशिक्षित करने और उसका मूल्यांकन करने के लिए TensorFlow का उपयोग कैसे करें?

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

इंस्टॉलेशन

Windows पर 'tensorflow' पैकेज इंस्टॉल करने के लिए:

pip install tensorflow

IMDB डेटासेट

'IMDB' डेटासेट में 50 हजार से अधिक फिल्मों की समीक्षाएं होती हैं। इस डेटासेट का उपयोग आमतौर पर प्राकृतिक भाषा प्रसंस्करण से जुड़े संचालन के साथ किया जाता है।

Google Colaboratory का उपयोग

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

IMDB डेटासेट पर लॉस फ़ंक्शन, ऑप्टिमाइज़र को परिभाषित करने, मॉडल को प्रशिक्षित करने और उसका मूल्यांकन करने का कोड स्निपेट:

model.compile(loss=losses.BinaryCrossentropy(from_logits=True),
              optimizer='adam',
              metrics=tf.metrics.BinaryAccuracy(threshold=0.0))
epochs = 10
history = model.fit(
    train_ds,
    validation_data=val_ds,
    epochs=epochs)
loss, accuracy = model.evaluate(test_ds)
print("हानि है:", loss)
print("सटीकता है:", accuracy)

कोड क्रेडिट - TensorFlow ट्यूटोरियल

आउटपुट

Epoch 1/10 625/625 [==============================] - 12s 19ms/step - loss: 0.6818 - binary_accuracy: 0.6130 - val_loss: 0.6135 - val_binary_accuracy: 0.7750
Epoch 2/10 625/625 [==============================] - 4s 7ms/step - loss: 0.5785 - binary_accuracy: 0.7853 - val_loss: 0.4971 - val_binary_accuracy: 0.8230
Epoch 3/10 625/625 [==============================] - 4s 7ms/step - loss: 0.4651 - binary_accuracy: 0.8372 - val_loss: 0.4193 - val_binary_accuracy: 0.8470
Epoch 4/10 625/625 [==============================] - 4s 7ms/step - loss: 0.3901 - binary_accuracy: 0.8635 - val_loss: 0.3732 - val_binary_accuracy: 0.8612
Epoch 5/10 625/625 [==============================] - 4s 7ms/step - loss: 0.3435 - binary_accuracy: 0.8771 - val_loss: 0.3444 - val_binary_accuracy: 0.8688
Epoch 6/10 625/625 [==============================] - 4s 7ms/step - loss: 0.3106 - binary_accuracy: 0.8877 - val_loss: 0.3255 - val_binary_accuracy: 0.8730
Epoch 7/10 625/625 [==============================] - 5s 7ms/step - loss: 0.2855 - binary_accuracy: 0.8970 - val_loss: 0.3119 - val_binary_accuracy: 0.8732
Epoch 8/10 625/625 [==============================] - 5s 7ms/step - loss: 0.2652 - binary_accuracy: 0.9048 - val_loss: 0.3027 - val_binary_accuracy: 0.8772
Epoch 9/10 625/625 [==============================] - 5s 7ms/step - loss: 0.2481 - binary_accuracy: 0.9125 - val_loss: 0.2959 - val_binary_accuracy: 0.8782
Epoch 10/10 625/625 [==============================] - 5s 7ms/step - loss: 0.2328 - binary_accuracy: 0.9161 - val_loss: 0.2913 - val_binary_accuracy: 0.8792
782/782 [==============================] - 10s 12ms/step - loss: 0.3099 - binary_accuracy: 0.8741
हानि है: 0.3099007308483124
सटीकता है: 0.8741199970245361

व्याख्या

  • एक बार मॉडल बन जाने के बाद, इसे 'compile' फ़ंक्शन का उपयोग करके कंपाइल किया जाता है।
  • मॉडल को प्रशिक्षित करने के लिए परिभाषित चरणों की संख्या यहां 10 है।
  • 'fit' फ़ंक्शन का उपयोग उस मॉडल में डेटा फिट करने के लिए किया जाता है जिसे बनाया गया था।
  • 'evaluate' फ़ंक्शन का उपयोग टेस्ट डेटासेट पर मॉडल की हानि और सटीकता की गणना के लिए किया जाता है।
  • हानि और सटीकता के मान कंसोल पर प्रदर्शित किए जाते हैं।
  1. पायथन का उपयोग करके TensorFlow से मॉडल को कैसे प्रशिक्षित किया जा सकता है? पायथन का उपयोग करके TensorFlow से मॉडल को कैसे प्रशिक्षित किया जा सकता है?

    मॉडल को TensorFlow में train विधि का उपयोग करके प्रशिक्षित किया जा सकता है, जहां ईपॉक्स (डेटा को मॉडल को फिट करने के लिए प्रशिक्षित करने की संख्या) और प्रशिक्षण डेटा निर्दिष्ट हैं। और पढ़ें: TensorFlow क्या है और केरस TensorFlow के साथ न्यूरल नेटवर्क बनाने के लिए कैसे काम करता है? हम नीचे दिए गए को

  1. केरस (Keras) में रिस्टोर्ड मॉडल का मूल्यांकन (evaluate) करना केरस (Keras) में रिस्टोर्ड मॉडल का मूल्यांकन (evaluate) करना

    रिस्टोर्ड मॉडल का मूल्यांकन सेव किए गए मॉडल को लोड करने के बाद, evaluate() से टेस्ट डेटा पर लॉस और एक्यूरेसी मापें। पूर्ण वर्कफ़्लो import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers # डेटा मान लें (MNIST उदाहरण) (train_images, train_labels), (test_images, tes

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

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