डीप लर्निंग के लिए PyTorch को चुनने का कारण
डीप लर्निंग और मशीन लर्निंग पिछले कुछ सालों से सभी के बीच सबसे ज्यादा चर्चा का विषय रहा है, और इसके लिए एक सही व्याख्या है।
मशीन लर्निंग ने सिस्टम को अनुभव से सीखने में सक्षम किया है जबकि डीप लर्निंग ने मशीन लर्निंग को विशाल डेटा सेट के उपयोग के साथ और भी बड़े पैमाने पर ले लिया है। एमएल और डीएल में इस वृद्धि ने विभिन्न प्रोग्रामिंग भाषा एस और पुस्तकालयों को जन्म दिया, जो प्रोग्रामर , शोधकर्ताओं और डेटा वैज्ञानिकों को अकल्पनीय हासिल करने में सक्षम बनाता है । सर्वश्रेष्ठ डीप लीनिंग लाइब्रेरी के लिए सबसे मजबूत दावेदारों में से कुछ टेनसॉरफ्लो और प्योरच हैं । अभी के लिए, हम PyTorch पर अधिक ध्यान केंद्रित कर रहे हैं।
PyTorch
फेसबुक ने 2016 में प्रोग्रामिंग दृश्य के लिए PyTorch जारी किया , जो कि Lua के मशाल पुस्तकालय पर आधारित है।
PyTorch एक मुक्त और ओपन-सोर्स मशीन लर्निंग लाइब्रेरी है और वर्तमान में v1.4 पर है । PyTorch अब लगभग तीन साल के लिए बाहर हो गया है और एक बेहतर स्थिति में होने के लिए सुधार के भार से गुजरा है। PyTorch को बाकी प्रतियोगिता की तुलना में तेज़ और अधिक पायथोनिक महसूस करने के लिए बनाया गया था। इसमें C, C ++ और Tensor कंप्यूटिंग के लिए समर्थन भी शामिल है ।
Google रुझान - समय के साथ PyTorch ब्याज
डीप लर्निंग के लिए PyTorch को चुनने का कारण
कारणों में कूदने से पहले पाइटोर को एक कोशिश क्यों नहीं देनी चाहिए, नीचे दी गई कुछ अनूठी और रोमांचक डीप लर्निंग परियोजनाएं हैं और पुस्तकालयों ने पियोरच को जन्म देने में मदद की है:
● चेक्सनेट: गहन अध्ययन के साथ छाती के एक्स-रे पर रेडियोलॉजिस्ट-स्तरीय निमोनिया का पता लगाना।
● क्षितिज: लागू सुदृढीकरण सीखने के लिए एक मंच (एप्लाइड आरएल)
● PYRO : Pyro पायथन में लिखी और बैकएंड पर PyTorch द्वारा समर्थित एक सार्वभौमिक संभाव्य प्रोग्रामिंग भाषा (PPL) है।
● Kaolin द्वारा NVIDIA में तेजी 3 डी दीप लर्निंग के लिए एक PyTorch पुस्तकालय के रूप में
● अपनी परियोजनाओं के लिए कंप्यूटर दृष्टि को लागू करने के लिए मशालवीवी
● PyDLT गहरी शिक्षा के लिए उपकरणों के एक सेट के रूप में
● fastai पुस्तकालय आपके तंत्रिका जाल प्रशिक्षण प्रक्रिया का अनुकूलन करता है
● और भी बहुत कुछ।
ये कुछ चौखटे और परियोजनाएं हैं जो TensorFlow और PyTorch के शीर्ष पर बनाई गई हैं। आप Github और TF और PyTorch की आधिकारिक वेबसाइटों पर और अधिक जानकारी प्राप्त कर सकते हैं।
TensorFlow की दुनिया में , PyTorch अपने मजबूत बिंदुओं के साथ अपने दम पर पकड़ बनाने में सक्षम है। नीचे कुछ हाइलाइट्स बताए गए हैं कि PyTorch आपके डीप लर्निंग प्रोजेक्ट्स के लिए उपयुक्त क्यों होगा :
1. PyTorch अधिक Pythonic है
PyTorch है ढांचे के लिए एक जाना हमें लिखने कोड देता है कि एक में अधिक pythonic तरीका है। इसके अलावा, गतिशीलता की तरह है कि यह अनुभवहीन अजगर कोड का उपयोग का समर्थन करता है है उल्लेखनीय।
जब किसी अन्य पुस्तकालय के साथ तुलना की जाती है तो PyTorch Python की ओर अधिक झुकाव करता है। ऐसा इसलिए है क्योंकि PyTorch को समझना अपेक्षाकृत आसान है और, यह अधिक प्राकृतिक , देशी और पायथन कोड के अनुरूप लगता है ।
किसी के लिए भी, जिन्होंने पायथन के साथ काम किया है, वे घर पर सब कुछ के साथ PyTorch के साथ महसूस करेंगे, जैसे कि हानि कार्य, अनुकूलक, परिवर्तन, डेटा लोडर और कई और कक्षाएं।
प्रत्येक PyTorch उदाहरण के लिए कोड (विज़न और NLP) एक सामान्य संरचना साझा करता है:
2. प्रयोग करने में आसान
जब PyTorch के साथ तुलना की जाती है, तो TensorFlow में एक अपेक्षाकृत स्टेटर लर्निंग कर्व होता है। पायथन प्रोग्रामर को PyTorch को समायोजित करने के लिए कम समय की आवश्यकता होगी क्योंकि उनके लिए यह पायथन के ढांचे के विस्तार की तरह महसूस होगा। आसान डिबगिंग और सरल एपीआई का एक बड़ा सेट प्योरटोर को प्रोग्रामर के लिए आसान बनाने में महत्वपूर्ण भूमिका निभाता है।
3. उपयोगी पुस्तकालय
महान समुदाय के समर्थन से समुदाय में बहुत उत्साह और योगदान आता है। PyTorch का उपयोग करते हुए, प्रोग्रामर आगे बढ़े हैं और कुछ प्रोजेक्ट बनाए हैं जो किसी को भी दिलचस्पी लेने के लिए उपलब्ध हैं। कंप्यूटर विज़न , नेचुरल लैंग्वेज प्रोसेसिंग और जनरेटिव लाइब्रेरी जैसे विभिन्न डोमेन में इन परियोजनाओं में से कुछ मुट्ठी भर की एक संयुक्त सूची नीचे दी गई है:
ProGAN सुविधाओं का लाभ उठाने के लिए ● pro_gan_pytorch
बायेसियन ऑप्टिमाइज़ेशन का उपयोग करने के लिए ● बोर्स्ट
● संवाद मॉडल साझा करने, प्रशिक्षण और परीक्षण के लिए ParlAI
● तंत्रिका मशीन अनुवाद प्रणाली को लागू करने के लिए OpenNMT- पी
● बहुभाषी शब्द एम्बेडिंग के लिए MUSE
● PyTorch के साथ फ्यूज़िंग-स्किक-लर्न कोड के लिए स्कोर्च
4. सरल डेटा समानांतरवाद
PyTorch में डेटा समानांतरवाद कुशल है और आपको डेटा को बैचों में विभाजित करने की अनुमति देता है , जो तब प्रसंस्करण के लिए कई GPU में भेजे जाते हैं। इस तकनीक का उपयोग करके, PyTorch CPU से GPU के लिए वर्कलोड का एक महत्वपूर्ण हिस्सा शिफ्ट कर सकता है। के लिए डेटा समानांतरवाद , यह torch.nn.DataParallel वर्ग का उपयोग करता है।
वितरित डेटा-समानांतर , PyTorch द्वारा एक विशेषता है जिसे आप बड़े डेटासेट और मॉडल की मांग करने वाले मामलों को संभालने के लिए डेटा-समानांतर के साथ जोड़ सकते हैं जो कि एकल GPU के लिए पर्याप्त बड़े हैं। जब GPU के पूल पर सभी कार्य समाप्त हो जाते हैं, तो परिणाम को एकत्र किया जाता है, विलय किया जाता है और डेटा-समानांतर द्वारा आपके पास वापस भेजा जाता है।
5. शोधकर्ताओं के लिए उत्कृष्ट
PyTorch शोधकर्ताओं के लिए एक ईश्वरप्रदत्त है क्योंकि यह कम से कम 70% शोधकर्ताओं द्वारा फ्रेमवर्क पर काम करने के लिए साबित हुआ। अनुप्रयोगों के विकास के लिए उद्योग की अग्रणी पसंद होने के बावजूद, TensorFlow ने अभी तक इस पहलू में PyTorch के साथ पकड़ नहीं बनाई है। इसके पीछे का एक कारण सादगी और उपयोग में आसानी हो सकता है जिसे PyTorch को बेहतर प्रदर्शन के साथ पेश करना है।
6. मोबाइल तैयार
V1.3 से शुरू करते हुए , PyTorch ने Android और iOS उपकरणों पर तैनाती के लिए समर्थन जोड़ा है । सुविधा कम विलंबता की मांग वाले अनुप्रयोगों को पूरा करने के लिए धार उपकरणों के लिए PyTorch के सभी लाभों को लाती है। PyTorch मोबाइल के पीछे का लक्ष्य मोबाइल प्लेटफार्मों के लिए आधार API का समर्थन करके विकास चक्र को कम करना है, Caffe2 जैसे मोबाइल फ्रेमवर्क को निर्यात करने की आवश्यकता को समाप्त करना। यह ऑन-डिवाइस फ़ुटप्रिंट में एक महत्वपूर्ण कमी की अनुमति देता है। अधिक नियंत्रण के लिए बिल्ड स्क्रिप्ट के सटीक फाइन-ट्यूनिंग के लिए समर्थन भी जोड़ा गया है।
PyTorch मोबाइल के साथ आरंभ करें:
Android पर आरंभ करें
IOS पर आरंभ करें
7. आसान डिबगिंग
जब आप प्रत्येक पंक्ति और प्रत्येक पंक्ति के बाद मुद्रण के सामान्य तरीके तक पहुंचने का विकल्प रखते हैं, तो PyTorch डिबग करना आसान है। केक पर टुकड़े करना यह है कि PyTorch में ऑब्जेक्ट्स और ऑपरेशन में वास्तविक डेटा होते हैं न कि प्रतीकात्मक संदर्भ, जिससे प्रोग्रामर के लिए जीवन आसान हो जाता है। PyTorch के लिए कुछ मानक डिबगर हैं:
● आई.पी.डी.बी.
● पी.डी.बी.
● Pyharm
उदाहरण के लिए, उदाहरण के लिए, आप अपने कोड में ब्रेकपॉइंट्स को प्लेस करने के लिए pdb के "pdb.set_trace ()" फंक्शन का उपयोग कर सकते हैं ताकि एरर के रूट को नीचे ड्रिल किया जा सके। इसके अलावा, PyTorch के गतिशील कम्प्यूटेशनल ग्राफ गतिशील संशोधन और तड़क-भड़क वाले डिबगिंग की अनुमति देते हैं, जबकि आपका कोड निष्पादित करता है।
8. ONNX के लिए समर्थन
ओपन न्यूरल नेटवर्क एक्सचेंज आर्टिफिशियल इंटेलिजेंस के लिएएक ओपन-सोर्स इकोसिस्टम के रूप में कार्य करता है, जोएआई प्रोग्रामर्स को विभिन्न प्रकार के फ्रेमवर्क, टूल्स और लाइब्रेरी पर काम करने के लिए एक सामान्य आधार प्रदान करता है। ONNX एक मानक फ़ाइल स्वरूप प्रदान करता है जो कई चौखटे और हार्डवेयर में काम करता है।
जब यह PyTorch की बात आती है, तो ONNX PyTorch के लिए अंतर्निहित समर्थन और Caffe2, MXNet, TensorFlow और अन्य जैसे अन्य चौखटे की एक विस्तृत श्रृंखला के साथ आता है। ONNX AI प्रोग्रामर के लिए अपने PyTorch मॉडल को एक खुले प्रारूप में निर्यात और माइग्रेट करना आसान बनाता है जिसे अन्य फ्रेमवर्क एकीकृत कर सकते हैं।
9. गतिशील कम्प्यूटेशनल रेखांकन के लिए समर्थन
प्रत्येक मॉडल को एक निर्देशित चक्रीय ग्राफ के रूप में देखने से, PyTorch कम्प्यूटेशन रेखांकन को परिभाषित करने के लिए एक गतिशील दृष्टिकोण प्रदान करता है। जबकि अन्य चौखटे एक स्थिर ग्राफ परिभाषा की अनुमति देते हैं, PyTorch एक गतिशील संगणना ग्राफ के निर्माण का समर्थन करता है जहां आप इसे चालू करने के लिए हेरफेर करने के लिए स्वतंत्र हैं। एक ऐसा तत्व जो PyTorch के इस गतिशील पहलू से सबसे अधिक लाभान्वित होता है, वह है कई अन्य लोगों के बीच आवर्तक तंत्रिका नेटवर्क।
10. मजबूत सामुदायिक समर्थन
PyTorch उत्कृष्ट सामुदायिक सहायता भी प्रदान करता है । PyTorch के घर गया है प्रलेखन विस्तृत अपनी सुविधाओं में से प्रत्येक के बारे में। लाइब्रेरी के सभी नवीनतम अपडेट अच्छी तरह से बताए गए हैं। प्रत्येक नए जोड़ के साथ, सहायक ट्यूटोरियल और संबंधित संसाधनों को उस मूल्यवान हाथों को महसूस करने के लिए भी पाया जा सकता है।
PyTorch फोरम newbies के लिए अपने प्रश्नों और दिग्गजों को साथी प्रोग्रामर के साथ अपने विचारों को साझा करने के लिए एक उत्कृष्ट और अत्यधिक अनुशंसित स्थान है। एक दिन में सौ से अधिक पोस्ट के साथ, समुदाय काफी सक्रिय है और लोगों को पाइटोरेक के साथ जहाज पर आने के लिए प्रोत्साहित करता है।
यहाँ PyTorch डेवलपर समुदाय , संसाधनों और ट्यूटोरियल में योगदान देने, सीखने और अपने सवालों के जवाब देने के लिए कुछ हैं -
● PyTorch चर्चा फार्म
● PyTorch सुस्त समुदाय
● PyTorch उदाहरण
● पाइरॉच डॉक्स
● जीथब पाइटोरच ट्यूटोरियल
● PyTorch बिगिनर Cheatsheet
● PyTorch के रिलीज नोट्स
● पाइटोर्च के साथ डीप लर्निंग: ए 60 मिनट ब्लिट्ज
● कोलाब में गूगल ड्राइव से ट्यूटोरियल डेटा का उपयोग करना
● चीनी में डॉक्स और ट्यूटोरियल
● कोरियाई में ट्यूटोरियल
निष्कर्ष
डीप लर्निंग प्रोग्रामर्स के लिए बड़ी संख्या में सहज ज्ञान युक्त सुविधाओं के साथ, PyTorch के पास कौशल स्तर की व्यापक श्रेणी के लोगों के लिए बहुत कुछ है। एक आसान प्रवेश बिंदु प्रदान करने के बावजूद, PyTorch को हल्के में नहीं लिया जाना चाहिए क्योंकि यह ऐसे फीचर्स प्रदान करता है जो न केवल कुछ पहलुओं में बेहतर प्रदर्शन की पेशकश करते हैं बल्कि अतिरिक्त अनूठी विशेषताओं की पेशकश भी करते हैं। हमने PyTorch के कुछ सबसे अधिक चर्चित फीचर्स के बारे में चर्चा की, जिससे आप PyTorch को उस कूदने में मदद कर सकें जिसके बारे में आप बहुत संशय में थे।
अधिक दिलचस्प रीडिंग -
मुझे आशा है कि आपको यह लेख उपयोगी लगा होगा! नीचे कुछ दिलचस्प रीडिंग हैं, उम्मीद है कि आप भी उन्हें पसंद करेंगे -
लेखक के बारे में
क्लेयर डी । एक सामग्री Crafter और कम से मार्केटर है Digitalogy - एक तकनीक सोर्सिंग और कस्टम विवाह बाजार है कि पूर्व जांच की और शीर्ष पायदान डेवलपर्स और डिजाइनरों के साथ जोड़ता है लोग दुनिया भर में उनकी विशिष्ट आवश्यकताओं के आधार पर। लिंक्डइन , ट्विटर , इंस्टाग्राम पर डिजिटलॉजी से जुड़ें ।