TensorFlow, Google द्वारा प्रदान किया गया एक मशीन लर्निंग फ्रेमवर्क है। यह एक ओपन-सोर्स फ्रेमवर्क है जिसे Python के साथ मिलकर एल्गोरिदम, डीप लर्निंग एप्लिकेशन और बहुत कुछ लागू करने के लिए उपयोग किया जाता है। इसका उपयोग अनुसंधान और उत्पादन उद्देश्यों के लिए किया जाता है। ऐसा इसलिए है क्योंकि यह NumPy और बहुआयामी सरणियों का उपयोग करता है। इन बहुआयामी सरणियों को 'टेंसर' के रूप में भी जाना जाता है। यह फ्रेमवर्क डीप न्यूरल नेटवर्क के साथ काम करने का समर्थन करता है। यह अत्यधिक स्केलेबल है, और कई लोकप्रिय डेटासेट के साथ आता है। यह GPU गणना का उपयोग करता है और संसाधनों के प्रबंधन को स्वचालित करता है। यह अनेक मशीन लर्निंग लाइब्रेरी के साथ आता है, और अच्छी तरह से समर्थित और प्रलेखित है। इस फ्रेमवर्क में डीप न्यूरल नेटवर्क मॉडल चलाने, उन्हें प्रशिक्षित करने, और संबंधित डेटासेट की प्रासंगिक विशेषताओं की भविष्यवाणी करने वाले एप्लिकेशन बनाने की क्षमता है।
इंस्टॉलेशन
Windows पर 'tensorflow' पैकेज इंस्टॉल करने के लिए:
pip install tensorflow
टेंसर के गुण
टेंसर, TensorFlow में उपयोग की जाने वाली एक डेटा संरचना है। यह फ्लो डायग्राम में एज को जोड़ने में मदद करता है। इस फ्लो डायग्राम को 'डेटा फ्लो ग्राफ' के नाम से जाना जाता है। टेंसर बहुआयामी सरणी या सूची के अलावा कुछ नहीं हैं। इनकी पहचान तीन मुख्य गुणों का उपयोग करके की जा सकती है।
IMDB डेटासेट
'IMDB' डेटासेट में 50 हजार से अधिक फिल्मों की समीक्षाएं होती हैं। इस डेटासेट का उपयोग आमतौर पर प्राकृतिक भाषा प्रसंस्करण से जुड़े संचालन के साथ किया जाता है।
Google Colaboratory का उपयोग
हम नीचे दिए गए कोड को चलाने के लिए Google Colaboratory का उपयोग कर रहे हैं। Google Colab या Colaboratory ब्राउज़र पर Python कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन की आवश्यकता होती है और GPUs (ग्राफिकल प्रोसेसिंग यूनिट्स) तक मुफ्त पहुंच प्रदान करता है। Colaboratory को Jupyter Notebook के शीर्ष पर बनाया गया है।
उदाहरण
import matplotlib.pyplot as plt
import os
import re
import shutil
import string
import tensorflow as tf
from tensorflow.keras import layers
from tensorflow.keras import losses
from tensorflow.keras import preprocessing
from tensorflow.keras.layers.experimental.preprocessing import TextVectorization
print("TensorFlow का संस्करण है")
print(tf.__version__)
url = "https://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz"
dataset = tf.keras.utils.get_file("aclImdb_v1.tar.gz", url,
untar=True, cache_dir='.', cache_subdir='')
print("डेटासेट डाउनलोड किया जा रहा है")
dataset_dir = os.path.join(os.path.dirname(dataset), 'aclImdb')
print("डाउनलोड किए गए फ़ोल्डर में निर्देशिकाएं हैं")
os.listdir(dataset_dir)
train_dir = os.path.join(dataset_dir, 'train')
os.listdir(train_dir)
print("डेटा का नमूना:")
sample_file = os.path.join(train_dir, 'pos/1181_9.txt')
with open(sample_file) as f:
print(f.read())
remove_dir = os.path.join(train_dir, 'unsup')
shutil.rmtree(remove_dir)
batch_size = 32
seed = 42
print("बैच आकार है")
print(batch_size)
raw_train_ds = tf.keras.preprocessing.text_dataset_from_directory(
'aclImdb/train',
batch_size=batch_size,
validation_split=0.2,
subset='training',
seed=seed)
for text_batch, label_batch in raw_train_ds.take(1):
for i in range(3):
print("समीक्षा", text_batch.numpy()[i])
print("लेबल", label_batch.numpy()[i])
print("लेबल 0 से मेल खाता है", raw_train_ds.class_names[0])
print("लेबल 1 से मेल खाता है", raw_train_ds.class_names[1])
raw_val_ds = tf.keras.preprocessing.text_dataset_from_directory(
'aclImdb/train',
batch_size=batch_size,
validation_split=0.2,
subset='validation',
seed=seed)
raw_test_ds = tf.keras.preprocessing.text_dataset_from_directory(
'aclImdb/test',
batch_size=batch_size)
कोड क्रेडिट - TensorFlow ट्यूटोरियल
आउटपुट
TensorFlow का संस्करण है 2.4.0 डेटासेट डाउनलोड किया जा रहा है डाउनलोड किए गए फ़ोल्डर में निर्देशिकाएं हैं डेटा का नमूना: Rachel Griffiths writes and directs this award winning short film... बैच आकार है 32 Found 25000 files belonging to 2 classes. Using 20000 files for training. समीक्षा b'"Pandemonium" is a horror movie spoof that comes off more stupid than funny...' लेबल 0 समीक्षा b"David Mamet is a very interesting and a very un-equal director..." लेबल 0 समीक्षा b'Great documentary about the lives of NY firefighters during the worst terrorist attack...' लेबल 1 लेबल 0 से मेल खाता है neg लेबल 1 से मेल खाता है pos Found 25000 files belonging to 2 classes. Using 5000 files for validation. Found 25000 files belonging to 2 classes.
व्याख्या
- आवश्यक पैकेज आयात किए जाते हैं और उपनाम दिए जाते हैं।
- IMDB डेटा लोड किया जाता है और Colab के एक्सेस के लिए एक स्थान पर संग्रहीत किया जाता है।
- मूल डेटा का एक नमूना कंसोल पर प्रदर्शित किया जाता है।
- मूल डेटा को प्रशिक्षण और टेस्ट डेटासेट में विभाजित किया जाता है।
- प्रशिक्षण डेटा का उपयोग मॉडल बनाने के लिए किया जाता है।
- दिए गए डेटा को नकारात्मक समीक्षा या सकारात्मक मान में वर्गीकृत करने का प्रयास किया जाता है।