मुझे एक बड़ी NumPy सरणी की गणना करने में रुचि है। मेरे पास एक बड़ी सरणी A
है जिसमें संख्याओं का एक समूह शामिल है। मैं इन संख्याओं के विभिन्न संयोजनों के योग की गणना करना चाहता हूं। यदि इस गणना करने के लिए एक और अधिक सुरुचिपूर्ण और स्मृति कारगर तरीका हैबड़े NumPy गुणा Vectorize
A = np.random.uniform(0,1, (3743, 1388, 3))
Combinations = np.random.randint(0,3, (306,3))
Final_Product = np.array([ np.sum(A*cb, axis=2) for cb in Combinations])
मेरा प्रश्न है: डेटा की संरचना इस प्रकार है? मुझे np.dot()
के साथ काम करने में निराशा होती है जब 3-डी सरणी शामिल होती है।
यदि यह मदद करता है, तो Final_Product
का आकार आदर्श रूप से होना चाहिए (3743, 306, 1388)। वर्तमान में Final_Product
आकार (306, 3743, 1388) का है, इसलिए मैं वहां पहुंचने के लिए बस पुनः आकार दे सकता हूं।
धन्यवाद! मैंने @ajcr का उत्तर भी बहुत उपयोगी पाया। टेंसर का उपयोग करके मैंने 'np.einsum' – Julien
@ जूलियन I में इस्तेमाल किए गए समय को भी घटा दिया Ijcr का समाधान भी पसंद है! मुझे लगता है कि यह 'डॉट' क्या है इसका एक संक्षिप्त संस्करण है। – Divakar