इस लेख में, हम वेक्टोराइज़ेशन और Python 3.x या उससे पहले के संस्करणों में कार्यान्वयन में शामिल विभिन्न तकनीकों के बारे में सीखेंगे।
वेक्टोराइज़ेशन क्या है?
वेक्टोराइज़ेशन लूप के उपयोग के बिना सरणियों को लागू करने की एक तकनीक है। एक फ़ंक्शन का उपयोग करने से कोड के रनिंग टाइम और एक्ज़ीक्यूशन टाइम को कुशलतापूर्वक कम करने में मदद मिल सकती है। वेक्टर पर विभिन्न ऑपरेशन किए जाते हैं जैसे डॉट प्रोडक्ट जिसे स्केलर प्रोडक्ट के रूप में भी जाना जाता है क्योंकि यह सिंगल आउटपुट उत्पन्न करता है, आउटर प्रोडक्ट जिसके परिणामस्वरूप वेक्टर की लंबाई के बराबर आयाम का वर्ग मैट्रिक्स होता है, एलिमेंट-वाइज़ गुणा जो समान इंडेक्स के एलिमेंट का गुणा करता है और मैट्रिक्स का आयाम अपरिवर्तित रहता है।
डॉट प्रोडक्ट / इनर प्रोडक्ट

आइए कार्यान्वयन देखते हैं
उदाहरण
import time import numpy import array p = array.array('q') for i in range(100000, 200000): p.append(i) q = array.array('q') for i in range(200000, 300000): q.append(i) # क्लासिक डॉट प्रोडक्ट tic = time.process_time() dot_value = 0.0 for i in range(len(p)): dot_value += p[i] * q[i] toc = time.process_time() print("डॉट प्रोडक्ट ऑफ वेक्टर एरेज़ = " + str(dot_value)) print("कम्प्यूटेशन टाइम टेकन = " + str(1000*(toc - tic)) + "ms") n_tic = time.process_time() n_dot_product = numpy.dot(p, q) n_toc = time.process_time() print("\nनम्पी डॉट प्रोडक्ट ऑफ वेक्टर एरेज़ = " + str(n_dot_product)) print("कम्प्यूटेशन टाइम टेकन = " + str(1000*(n_toc - n_tic)) + "ms")आउटपुट
डॉट प्रोडक्ट ऑफ वेक्टर एरेज़ = 3833313333350000.0 कम्प्यूटेशन टाइम टेकन = 116.51723400000068ms नम्पी डॉट प्रोडक्ट ऑफ वेक्टर एरेज़ = 3833313333350000 कम्प्यूटेशन टाइम टेकन = 2.5412239999997865ms
अब आइए ऊपर उपयोग किए गए फ़ंक्शन के बारे में विस्तार से चर्चा करते हैं
outer(a, b) - यह फ़ंक्शन दो NumPy सरणियों को इनपुट वेरिएबल के रूप में लेता है और दो वेक्टर का आउटर प्रोडक्ट लौटाता है।
multiply(a, b) - यह फ़ंक्शन दो NumPy सरणियों को इनपुट वेरिएबल के रूप में लेता है और दो सरणियों का मैट्रिक्स प्रोडक्ट लौटाता है।
dot(a, b) - यह फ़ंक्शन दो NumPy सरणियों को इनपुट वेरिएबल के रूप में लेता है और दो सरणियों का डॉट प्रोडक्ट लौटाता है।
zeros((n, m)) - यह फ़ंक्शन आकार और प्रकार को इनपुट वेरिएबल के रूप में लेता है और दिए गए आकार और प्रकार का मैट्रिक्स लौटाता है, जिसे शून्य से आरंभ किया गया है।
process_time() - यह फ़ंक्शन वर्तमान प्रक्रिया के सिस्टम और उपयोगकर्ता CPU समय के योग का मान (आंशिक सेकंड में) लौटाता है। इसमें स्लीप के दौरान बीता हुआ समय शामिल नहीं है।
निष्कर्ष
इस लेख में, हमने Python में वेक्टोराइज़ेशन के बारे में सीखा।