TensorFlow क्या है? यह कैसे काम करता है? परिचय और Archiटेक्चर
आइए इस ट्यूटोरियल को TensorFlow परिचय के साथ शुरू करें:
टेंसरफ्लो क्या है?
TensorFlow मशीन लर्निंग एप्लीकेशन बनाने के लिए एक ओपन-सोर्स एंड-टू-एंड प्लेटफ़ॉर्म है। यह एक प्रतीकात्मक गणित लाइब्रेरी है जो डीप न्यूरल नेटवर्क के प्रशिक्षण और अनुमान पर केंद्रित विभिन्न कार्यों को करने के लिए डेटाफ़्लो और डिफरेंशियल प्रोग्रामिंग का उपयोग करती है। यह डेवलपर्स को विभिन्न टूल, लाइब्रेरी और सामुदायिक संसाधनों का उपयोग करके मशीन लर्निंग एप्लिकेशन बनाने की अनुमति देता है।
वर्तमान में, दुनिया में सबसे प्रसिद्ध डीप लर्निंग लाइब्रेरी Google की TensorFlow है। Google उत्पाद अपने सभी उत्पादों में सर्च इंजन, अनुवाद, इमेज कैप्शनिंग या सिफारिशों को बेहतर बनाने के लिए मशीन लर्निंग का उपयोग करता है।
TensorFlow उदाहरण
एक ठोस उदाहरण देने के लिए, Google उपयोगकर्ता AI के साथ तेज़ और अधिक परिष्कृत खोज अनुभव का अनुभव कर सकते हैं। यदि उपयोगकर्ता खोज बार में कोई कीवर्ड टाइप करता है, तो Google अगला शब्द क्या हो सकता है, इसके बारे में एक अनुशंसा प्रदान करता है।
गूगल अपने विशाल डेटासेट का लाभ उठाने के लिए मशीन लर्निंग का उपयोग करना चाहता है ताकि उपयोगकर्ताओं को सर्वश्रेष्ठ अनुभव प्रदान किया जा सके। तीन अलग-अलग समूह मशीन लर्निंग का उपयोग करते हैं:
- शोधकर्ताओं
- डेटा वैज्ञानिकों
- प्रोग्रामर्स
वे सभी एक-दूसरे के साथ सहयोग करने तथा अपनी कार्यकुशलता में सुधार करने के लिए समान टूलसेट का उपयोग कर सकते हैं।
Google के पास सिर्फ़ डेटा ही नहीं है; उनके पास दुनिया का सबसे बड़ा कंप्यूटर है, इसलिए Tensor Flow को बड़े पैमाने पर बनाया गया था। TensorFlow एक लाइब्रेरी है जिसे Google Brain Team ने मशीन लर्निंग और डीप न्यूरल नेटवर्क रिसर्च को गति देने के लिए विकसित किया है।
इसे कई सीपीयू या जीपीयू और यहां तक कि मोबाइल ऑपरेटिंग सिस्टम पर चलाने के लिए बनाया गया था, और इसमें कई भाषाओं में कई रैपर हैं जैसे Python, C++ or Java.
TensorFlow का इतिहास
कुछ साल पहले, डीप लर्निंग ने भारी मात्रा में डेटा देने के मामले में अन्य सभी मशीन लर्निंग एल्गोरिदम को पीछे छोड़ दिया। Google ने देखा कि वह अपनी सेवाओं को बेहतर बनाने के लिए इन डीप न्यूरल नेटवर्क का उपयोग कर सकता है:
- जीमेल
- तस्वीर
- Google खोज इंजन
वे एक ढांचा बनाते हैं जिसे कहते हैं टेन्सलफ्लो शोधकर्ताओं और डेवलपर्स को एक एआई मॉडल पर एक साथ काम करने का मौका देना। एक बार विकसित और स्केल किए जाने के बाद, यह बहुत से लोगों को इसका उपयोग करने की अनुमति देता है।
इसे पहली बार 2015 के अंत में सार्वजनिक किया गया था, जबकि पहला स्थिर संस्करण 2017 में सामने आया था। यह अपाचे ओपन सोर्स लाइसेंस के तहत ओपन सोर्स है। आप इसका उपयोग कर सकते हैं, इसे संशोधित कर सकते हैं और Google को कुछ भी भुगतान किए बिना शुल्क के लिए संशोधित संस्करण को पुनर्वितरित कर सकते हैं।
इस TensorFlow डीप लर्निंग ट्यूटोरियल में आगे, हम TensorFlow आर्किटेक्चर के बारे में जानेंगे और TensorFlow कैसे काम करता है।
TensorFlow कैसे काम करता है
TensorFlow आपको डेटाफ्लो ग्राफ़ और संरचनाएँ बनाने में सक्षम बनाता है ताकि यह परिभाषित किया जा सके कि डेटा Tensor नामक एक बहुआयामी सरणी के रूप में इनपुट लेकर ग्राफ़ के माध्यम से कैसे आगे बढ़ता है। यह आपको इन इनपुट पर किए जा सकने वाले ऑपरेशनों का एक फ़्लोचार्ट बनाने की अनुमति देता है, जो एक छोर पर जाता है और दूसरे छोर पर आउटपुट के रूप में आता है।
TensorFlow Archiटेक्चर
टेन्सरफ्लो आर्किटेक्चर तीन भागों में काम करता है:
- डेटा को प्रीप्रोसेस करना
- मॉडल बनाएं
- मॉडल को प्रशिक्षित करें और उसका आकलन करें
इसे टेन्सरफ्लो कहा जाता है क्योंकि यह एक बहुआयामी सरणी के रूप में इनपुट लेता है, जिसे के रूप में भी जाना जाता है टेंसर्सआप एक तरह का निर्माण कर सकते हैं प्रवाह संचित्र आप उस इनपुट पर जो ऑपरेशन (जिसे ग्राफ कहते हैं) करना चाहते हैं, उनका विवरण। इनपुट एक छोर से अंदर जाता है, और फिर यह कई ऑपरेशनों की इस प्रणाली से होकर दूसरे छोर से आउटपुट के रूप में बाहर आता है।
यही कारण है कि इसे टेंसरफ्लो कहा जाता है, क्योंकि टेंसर इसमें जाता है, संचालनों की एक सूची से होकर गुजरता है, और फिर दूसरी ओर से बाहर आता है।
टेन्सरफ्लो कहां चलाया जा सकता है?
TensorFlow हार्डवेयर, और सॉफ़्टवेयर आवश्यकताएं में वर्गीकृत किया जा सकता है
विकास चरण: यह वह समय है जब आप मोड को प्रशिक्षित करते हैं। प्रशिक्षण आमतौर पर आपके डेस्कटॉप या लैपटॉप पर किया जाता है।
रन चरण या अनुमान चरण: एक बार प्रशिक्षण पूरा हो जाने के बाद Tensorflow को कई अलग-अलग प्लेटफ़ॉर्म पर चलाया जा सकता है। आप इसे चला सकते हैं
- डेस्कटॉप पर चल रहा है Windows, macOS या लिनक्स
- वेब सेवा के रूप में क्लाउड
- आईओएस और जैसे मोबाइल डिवाइस Android
एक बार प्रशिक्षित मॉडल तैयार हो जाने पर आप इसे कई मशीनों पर प्रशिक्षित कर सकते हैं, फिर आप इसे किसी अन्य मशीन पर चला सकते हैं।
मॉडल को GPU के साथ-साथ CPU पर भी प्रशिक्षित और उपयोग किया जा सकता है। GPU को शुरू में वीडियो गेम के लिए डिज़ाइन किया गया था। 2010 के अंत में, स्टैनफोर्ड के शोधकर्ताओं ने पाया कि GPU मैट्रिक्स ऑपरेशन और बीजगणित में भी बहुत अच्छा था, इसलिए यह उन्हें इस तरह की गणना करने के लिए बहुत तेज़ बनाता है। डीप लर्निंग बहुत सारे मैट्रिक्स गुणन पर निर्भर करता है। TensorFlow मैट्रिक्स गुणन की गणना करने में बहुत तेज़ है क्योंकि यह लिखा गया है C++.हालाँकि इसे लागू किया गया है C++TensorFlow को मुख्य रूप से अन्य भाषाओं द्वारा एक्सेस और नियंत्रित किया जा सकता है, Python.
अंत में, TensorFlow की एक महत्वपूर्ण विशेषता TensorBoard है। टेंसरबोर्ड TensorFlow क्या कर रहा है, इसकी ग्राफिक और दृश्यात्मक निगरानी करने में सक्षम बनाता है।
TensorFlow घटक
टेन्सर
टेन्सरफ्लो का नाम सीधे इसके मूल ढांचे से लिया गया है: टेन्सरTensorflow में, सभी गणनाओं में टेंसर शामिल होते हैं। टेंसर एक ऐसा उपकरण है जो एक निश्चित समय में एक निश्चित समय पर काम करता है। वेक्टर or मैट्रिक्स n-आयामों का जो सभी प्रकार के डेटा का प्रतिनिधित्व करता है। टेंसर में सभी मान ज्ञात (या आंशिक रूप से ज्ञात) के समान डेटा प्रकार रखते हैं आकारडेटा का आकार मैट्रिक्स या सरणी की आयामीता है।
टेंसर की उत्पत्ति इनपुट डेटा या गणना के परिणाम से हो सकती है। TensorFlow में, सभी ऑपरेशन एक के अंदर किए जाते हैं ग्राफग्राफ़ गणनाओं का एक सेट है जो क्रमिक रूप से होता है। प्रत्येक ऑपरेशन को एक ग्राफ कहा जाता है। ऑप नोड और एक दूसरे से जुड़े हुए हैं.
ग्राफ नोड्स के बीच ऑप्स और कनेक्शन को रेखांकित करता है। हालाँकि, यह मान प्रदर्शित नहीं करता है। नोड्स का किनारा टेंसर है, यानी, डेटा के साथ ऑपरेशन को पॉप्युलेट करने का एक तरीका है।
रेखाचित्र
TensorFlow एक ग्राफ फ्रेमवर्क का उपयोग करता है। यह ग्राफ प्रशिक्षण के दौरान की गई सभी श्रृंखला गणनाओं को एकत्रित करता है और उनका वर्णन करता है। ग्राफ के बहुत सारे फायदे हैं:
- इसे कई सीपीयू या जीपीयू और यहां तक कि मोबाइल ऑपरेटिंग सिस्टम पर चलाने के लिए किया गया था
- ग्राफ की पोर्टेबिलिटी गणनाओं को तत्काल या बाद में उपयोग के लिए सुरक्षित रखने की अनुमति देती है। ग्राफ को भविष्य में निष्पादित करने के लिए सहेजा जा सकता है।
- ग्राफ में सभी गणनाएं टेंसरों को एक साथ जोड़कर की जाती हैं
- टेंसर में एक नोड और एक किनारा होता है। नोड गणितीय ऑपरेशन करता है और एक एंडपॉइंट आउटपुट उत्पन्न करता है। किनारे नोड्स के बीच इनपुट/आउटपुट संबंधों को स्पष्ट करते हैं।
TensorFlow लोकप्रिय क्यों है?
TensorFlow सभी में से सबसे अच्छी लाइब्रेरी है क्योंकि इसे सभी के लिए सुलभ बनाया गया है। TensorFlow लाइब्रेरी CNN या RNN जैसे बड़े पैमाने पर डीप लर्निंग आर्किटेक्चर बनाने के लिए अलग-अलग API को शामिल करती है। TensorFlow ग्राफ कंप्यूटेशन पर आधारित है; यह डेवलपर को Tensorboad के साथ न्यूरल नेटवर्क के निर्माण को विज़ुअलाइज़ करने की अनुमति देता है। यह टूल प्रोग्राम को डीबग करने में मददगार है। अंत में, Tensorflow को बड़े पैमाने पर तैनात करने के लिए बनाया गया है। यह CPU और GPU पर चलता है।
अन्य डीप लर्निंग फ्रेमवर्क की तुलना में Tensorflow को GitHub पर सबसे अधिक लोकप्रियता प्राप्त है।
TensorFlow Algorithms
TensorFlow द्वारा समर्थित एल्गोरिदम नीचे दिए गए हैं:
वर्तमान में, TensorFlow 1.10 में निम्नलिखित के लिए अंतर्निहित API है:
- रैखिक प्रतिगमन: tf.estimator.LinearRegressor
- वर्गीकरण:tf.estimator.LinearClassifier
- गहन शिक्षण वर्गीकरण: tf.estimator.DNNClassifier
- डीप लर्निंग वाइप और डीप: tf.estimator.DNNLinearCombinedClassifier
- बूस्टर ट्री रिग्रेशन: tf.estimator.BoostedTreesRegressor
- बूस्टेड ट्री वर्गीकरण: tf.estimator.BoostedTreesClassifier
TensorFlow में गणना कैसे काम करती है
import numpy as np import tensorflow as tf
कोड की पहली दो लाइन में, हमने tensorflow को tf के रूप में आयात किया है। Python, लाइब्रेरी के लिए संक्षिप्त नाम का उपयोग करना एक आम बात है। इसका फ़ायदा यह है कि जब हमें लाइब्रेरी का उपयोग करने की आवश्यकता होती है तो हमें उसका पूरा नाम लिखने से बचना पड़ता है। उदाहरण के लिए, हम tensorflow को tf के रूप में आयात कर सकते हैं, और जब हम tensorflow फ़ंक्शन का उपयोग करना चाहते हैं तो tf को कॉल कर सकते हैं
आइए सरल TensorFlow उदाहरणों के साथ TensorFlow के प्राथमिक वर्कफ़्लो का अभ्यास करें। आइए एक कम्प्यूटेशनल ग्राफ़ बनाएँ जो दो संख्याओं को एक साथ गुणा करता है।
उदाहरण के दौरान, हम X_1 और X_2 को एक साथ गुणा करेंगे। Tensorflow ऑपरेशन को जोड़ने के लिए एक नोड बनाएगा। हमारे उदाहरण में, इसे गुणा कहा जाता है। जब ग्राफ निर्धारित हो जाता है, तो Tensorflow कम्प्यूटेशनल इंजन X_1 और X_2 को एक साथ गुणा करेंगे।
अंत में, हम एक TensorFlow सत्र चलाएंगे जो X_1 और X_2 के मानों के साथ कम्प्यूटेशनल ग्राफ चलाएगा और गुणन का परिणाम प्रिंट करेगा।
आइए X_1 और X_2 इनपुट नोड्स को परिभाषित करें। जब हम Tensorflow में नोड बनाते हैं, तो हमें यह चुनना होता है कि किस तरह का नोड बनाना है। X1 और X2 नोड्स प्लेसहोल्डर नोड होंगे। जब भी हम कोई गणना करते हैं, तो प्लेसहोल्डर एक नया मान असाइन करता है। हम उन्हें TF डॉट प्लेसहोल्डर नोड के रूप में बनाएंगे।
चरण 1: चर को परिभाषित करें
X_1 = tf.placeholder(tf.float32, name = "X_1") X_2 = tf.placeholder(tf.float32, name = "X_2")
जब हम प्लेसहोल्डर नोड बनाते हैं, तो हमें डेटा टाइप पास करना होता है, यहाँ संख्याएँ जोड़ी जाएँगी, ताकि हम फ़्लोटिंग-पॉइंट डेटा टाइप का उपयोग कर सकें, आइए tf.float32 का उपयोग करें। हमें इस नोड को एक नाम भी देना होगा। यह नाम तब दिखाई देगा जब हम अपने मॉडल के ग्राफ़िकल विज़ुअलाइज़ेशन को देखेंगे। आइए इस नोड को X_1 नाम दें, इसके लिए नाम नामक पैरामीटर को X_1 के मान के साथ पास करें और अब X_2 को उसी तरह परिभाषित करें। X_2.
चरण 2: गणना को परिभाषित करें
multiply = tf.multiply(X_1, X_2, name = "multiply")
अब हम गुणन ऑपरेशन करने वाले नोड को परिभाषित कर सकते हैं। Tensorflow में हम tf.multiply नोड बनाकर ऐसा कर सकते हैं।
हम X_1 और X_2 नोड्स को गुणन नोड में पास करेंगे। यह टेंसरफ्लो को उन नोड्स को कम्प्यूटेशनल ग्राफ में लिंक करने के लिए कहता है, इसलिए हम इसे x और y से मान खींचने और परिणाम को गुणा करने के लिए कह रहे हैं। आइए गुणन नोड को गुणा नाम भी दें। यह हमारे सरल कम्प्यूटेशनल ग्राफ के लिए संपूर्ण परिभाषा है।
चरण 3: ऑपरेशन निष्पादित करें
ग्राफ में ऑपरेशन निष्पादित करने के लिए, हमें एक सत्र बनाना होगा। Tensorflow में, यह tf.Session() द्वारा किया जाता है। अब जब हमारे पास एक सत्र है, तो हम session को कॉल करके अपने कम्प्यूटेशनल ग्राफ पर ऑपरेशन चलाने के लिए सत्र से पूछ सकते हैं। कम्प्यूटेशन चलाने के लिए, हमें run का उपयोग करना होगा।
जब एडिशन ऑपरेशन चलता है, तो यह देखेगा कि उसे X_1 और X_2 नोड्स के मानों को पकड़ने की आवश्यकता है, इसलिए हमें X_1 और X_2 के मानों को भी फीड करना होगा। हम feed_dict नामक पैरामीटर की आपूर्ति करके ऐसा कर सकते हैं। हम X_1,2,3 के लिए 1 और X_4,5,6 के लिए 2 मान पास करते हैं।
हम print(result) के साथ परिणाम प्रिंट करते हैं। हमें 4×10, 18×1 और 4×2 के लिए 5, 3 और 6 दिखना चाहिए
X_1 = tf.placeholder(tf.float32, name = "X_1") X_2 = tf.placeholder(tf.float32, name = "X_2") multiply = tf.multiply(X_1, X_2, name = "multiply") with tf.Session() as session: result = session.run(multiply, feed_dict={X_1:[1,2,3], X_2:[4,5,6]}) print(result)
[ 4. 10. 18.]
TensorFlow में डेटा लोड करने के विकल्प
प्रशिक्षण से पहले पहला कदम मशीन सीखने एल्गोरिदम डेटा लोड करना है। डेटा लोड करने के दो सामान्य तरीके हैं:
1. मेमोरी में डेटा लोड करें: यह सबसे सरल तरीका है। आप अपने सभी डेटा को मेमोरी में एक ही सरणी के रूप में लोड करते हैं। आप एक लिख सकते हैं Python कोड की ये पंक्तियाँ Tensorflow से संबंधित नहीं हैं।
2. टेन्सरफ़्लो डेटा पाइपलाइन: Tensorflow में बिल्ट-इन API है जो आपको डेटा लोड करने, ऑपरेशन करने और मशीन लर्निंग एल्गोरिदम को आसानी से फीड करने में मदद करता है। यह तरीका बहुत बढ़िया काम करता है, खासकर तब जब आपके पास बड़ा डेटासेट हो। उदाहरण के लिए, इमेज रिकॉर्ड बहुत बड़े होते हैं और मेमोरी में फिट नहीं होते। डेटा पाइपलाइन मेमोरी को खुद ही मैनेज करती है
क्या समाधान उपयोग करें?
मेमोरी में डेटा लोड करें
यदि आपका डेटासेट बहुत बड़ा नहीं है, यानी 10 गीगाबाइट से कम, तो आप पहली विधि का उपयोग कर सकते हैं। डेटा मेमोरी में फ़िट हो सकता है। आप CSV फ़ाइलों को आयात करने के लिए पांडा नामक एक प्रसिद्ध लाइब्रेरी का उपयोग कर सकते हैं। आप अगले ट्यूटोरियल में पांडा के बारे में अधिक जानेंगे।
Tensorflow पाइपलाइन के साथ डेटा लोड करें
यदि आपके पास बड़ा डेटासेट है तो दूसरा तरीका सबसे अच्छा काम करता है। उदाहरण के लिए, यदि आपके पास 50 गीगाबाइट का डेटासेट है, और आपके कंप्यूटर में केवल 16 गीगाबाइट मेमोरी है, तो मशीन क्रैश हो जाएगी।
इस स्थिति में, आपको Tensorflow पाइपलाइन बनाने की आवश्यकता है। पाइपलाइन डेटा को बैच या छोटे हिस्से में लोड करेगी। प्रत्येक बैच को पाइपलाइन में धकेल दिया जाएगा और प्रशिक्षण के लिए तैयार किया जाएगा। पाइपलाइन बनाना एक बेहतरीन समाधान है क्योंकि यह आपको समानांतर कंप्यूटिंग का उपयोग करने की अनुमति देता है। इसका मतलब है कि Tensorflow कई CPU में मॉडल को प्रशिक्षित करेगा। यह कम्प्यूटेशन को बढ़ावा देता है और शक्तिशाली न्यूरल नेटवर्क को प्रशिक्षित करने की अनुमति देता है।
आप अगले ट्यूटोरियल में देखेंगे कि अपने तंत्रिका नेटवर्क को पोषित करने के लिए एक महत्वपूर्ण पाइपलाइन का निर्माण कैसे करें।
संक्षेप में, यदि आपके पास एक छोटा डेटासेट है, तो आप पांडा लाइब्रेरी के साथ डेटा को मेमोरी में लोड कर सकते हैं।
यदि आपके पास एक बड़ा डेटासेट है और आप एकाधिक सीपीयू का उपयोग करना चाहते हैं, तो आपके लिए टेन्सरफ्लो पाइपलाइन के साथ काम करना अधिक सुविधाजनक होगा।
TensorFlow पाइपलाइन कैसे बनाएं
TensorFlow पाइपलाइन बनाने के चरण यहां दिए गए हैं:
पिछले उदाहरण में, हमने X_1 और X_2 के लिए तीन मान मैन्युअल रूप से जोड़े थे। अब, हम देखेंगे कि Tensorflow में डेटा कैसे लोड किया जाता है:
चरण 1) डेटा बनाएं
सबसे पहले, आइए दो यादृच्छिक मान उत्पन्न करने के लिए numpy लाइब्रेरी का उपयोग करें।
import numpy as np x_input = np.random.sample((1,2)) print(x_input)
[[0.8835775 0.23766977]]
चरण 2) प्लेसहोल्डर बनाएं
पिछले उदाहरण की तरह, हम X नाम से एक प्लेसहोल्डर बनाते हैं। हमें टेंसर के आकार को स्पष्ट रूप से निर्दिष्ट करने की आवश्यकता है। मामले में, हम केवल दो मानों के साथ एक सरणी लोड करेंगे। हम आकार को इस प्रकार लिख सकते हैं: आकार=[1,2]
# using a placeholder x = tf.placeholder(tf.float32, shape=[1,2], name = 'X')
चरण 3) डेटासेट विधि को परिभाषित करें
इसके बाद, हमें डेटासेट को परिभाषित करने की आवश्यकता है जहाँ हम प्लेसहोल्डर x का मान भर सकते हैं। हमें tf.data.Dataset.from_tensor_slices विधि का उपयोग करने की आवश्यकता है
dataset = tf.data.Dataset.from_tensor_slices(x)
चरण 4) पाइपलाइन बनाएं
चरण चार में, हमें उस पाइपलाइन को आरंभ करने की आवश्यकता है जहाँ डेटा प्रवाहित होगा। हमें make_initializable_iterator के साथ एक इटरेटर बनाने की आवश्यकता है। हम इसे iterator नाम देते हैं। फिर हमें डेटा के अगले बैच को फीड करने के लिए इस इटरेटर को कॉल करना होगा, get_next। हम इस चरण को get_next नाम देते हैं। ध्यान दें कि हमारे उदाहरण में, केवल दो मानों वाला डेटा का एक ही बैच है।
iterator = dataset.make_initializable_iterator() get_next = iterator.get_next()
चरण 5) ऑपरेशन निष्पादित करें
अंतिम चरण पिछले उदाहरण के समान है। हम एक सत्र आरंभ करते हैं, और हम ऑपरेशन इटरेटर चलाते हैं। हम feed_dict में उत्पन्न मान भरते हैं numpyये दो मान प्लेसहोल्डर x को पॉप्युलेट करेंगे। फिर हम परिणाम प्रिंट करने के लिए get_next चलाते हैं।
with tf.Session() as sess: # feed the placeholder with data sess.run(iterator.initializer, feed_dict={ x: x_input }) print(sess.run(get_next)) # output [ 0.52374458 0.71968478]
[0.8835775 0.23766978]
सारांश
- टेन्सरफ्लो का अर्थ: TensorFlow हाल के वर्षों में सबसे प्रसिद्ध डीप लर्निंग लाइब्रेरी है। TensorFlow का उपयोग करने वाला कोई भी व्यवसायी किसी भी डीप लर्निंग संरचना का निर्माण कर सकता है, जैसे CNN, RNN या सरल कृत्रिम तंत्रिका नेटवर्क।
- TensorFlow का इस्तेमाल ज़्यादातर शिक्षाविदों, स्टार्टअप और बड़ी कंपनियों द्वारा किया जाता है। Google, Gmail, फ़ोटो और Google सर्च इंजन सहित लगभग सभी Google दैनिक उत्पादों में TensorFlow का उपयोग करता है।
- Google Brain टीम ने शोधकर्ताओं और उत्पाद डेवलपर्स के बीच की खाई को भरने के लिए TensorFlow विकसित किया। 2015 में, उन्होंने TensorFlow को सार्वजनिक किया; यह तेजी से लोकप्रियता में बढ़ रहा है। आजकल, TensorFlow GitHub पर सबसे अधिक रिपॉजिटरी वाली डीप लर्निंग लाइब्रेरी है।
- व्यवसायी Tensorflow का उपयोग करते हैं क्योंकि इसे बड़े पैमाने पर तैनात करना आसान है। इसे क्लाउड या iOs और जैसे मोबाइल डिवाइस पर काम करने के लिए बनाया गया है Android.
Tensorflow एक सत्र में काम करता है। प्रत्येक सत्र को अलग-अलग गणनाओं वाले ग्राफ़ द्वारा परिभाषित किया जाता है। एक सरल उदाहरण संख्या को गुणा करना हो सकता है। Tensorflow में, तीन चरणों की आवश्यकता होती है:
- चर को परिभाषित करें
X_1 = tf.placeholder(tf.float32, name = "X_1") X_2 = tf.placeholder(tf.float32, name = "X_2")
- गणना को परिभाषित करें
multiply = tf.multiply(X_1, X_2, name = "multiply")
- ऑपरेशन निष्पादित करें
with tf.Session() as session: result = session.run(multiply, feed_dict={X_1:[1,2,3], X_2:[4,5,6]}) print(result)
Tensorflow में एक आम अभ्यास डेटा लोड करने के लिए एक पाइपलाइन बनाना है। यदि आप इन पाँच चरणों का पालन करते हैं, तो आप TensorFLow में डेटा लोड करने में सक्षम होंगे:
- डेटा बनाएं
import numpy as np x_input = np.random.sample((1,2)) print(x_input)
- प्लेसहोल्डर बनाएं
x = tf.placeholder(tf.float32, shape=[1,2], name = 'X')
- डेटासेट विधि को परिभाषित करें
dataset = tf.data.Dataset.from_tensor_slices(x)
- पाइपलाइन बनाएं
iterator = dataset.make_initializable_iterator() get_next = iterator.get_next()
- प्रोग्राम निष्पादित करें
with tf.Session() as sess: sess.run(iterator.initializer, feed_dict={ x: x_input }) print(sess.run(get_next))