Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में विशिष्ट अक्षों पर अलग-अलग आयामों वाली सरणियों का टेंसर डॉट उत्पाद गणना करें

परिचय

पायथन में विशिष्ट अक्षों पर अलग-अलग आयामों वाली सरणियों का टेंसर डॉट उत्पाद गणना करने के लिए, numpy.tensordot() विधि का उपयोग करें। axes पैरामीटर में पूर्णांक N देकर a के अंतिम N अक्ष और b के पहले N अक्ष पर योग किया जा सकता है।

पैरामीटर्स

  • a, b: टेंसर जिनका डॉट उत्पाद लेना है।
  • axes: पूर्णांक N। a के अंतिम N अक्ष और b के पहले N अक्ष पर योग करें।

चरण-दर-चरण उदाहरण

आवश्यक लाइब्रेरी आयात करें

import numpy as np

अलग-अलग आयामों वाली दो सरणी बनाएं

arr1 = np.array(range(1, 9))
arr1.shape = (2, 2, 2)
arr2 = np.array(('p', 'q', 'r', 's'), dtype=object)
arr2.shape = (2, 2)

सरणियों की जानकारी प्रदर्शित करें

print("सरणी 1...\n", arr1)
print("\nसरणी 2...\n", arr2)
print("\nसरणी 1 के आयाम...\n", arr1.ndim)
print("\nसरणी 2 के आयाम...\n", arr2.ndim)
print("\nसरणी 1 का आकार...\n", arr1.shape)
print("\nसरणी 2 का आकार...\n", arr2.shape)

टेंसर डॉट उत्पाद की गणना करें (axes=1)

print("\nटेंसर डॉट उत्पाद...\n", np.tensordot(arr1, arr2, axes=1))

पूर्ण कोड उदाहरण

import numpy as np

# अलग-अलग आयामों वाली दो सरणी बनाएं
arr1 = np.array(range(1, 9))
arr1.shape = (2, 2, 2)
arr2 = np.array(('p', 'q', 'r', 's'), dtype=object)
arr2.shape = (2, 2)

# सरणी प्रदर्शित करें
print("सरणी 1...\n", arr1)
print("\nसरणी 2...\n", arr2)
print("\nसरणी 1 के आयाम...\n", arr1.ndim)
print("\nसरणी 2 के आयाम...\n", arr2.ndim)
print("\nसरणी 1 का आकार...\n", arr1.shape)
print("\nसरणी 2 का आकार...\n", arr2.shape)

# टेंसर डॉट उत्पाद की गणना करें (axes=1)
print("\nटेंसर डॉट उत्पाद...\n", np.tensordot(arr1, arr2, axes=1))

आउटपुट

सरणी 1...
 [[[1 2]
   [3 4]]

  [[5 6]
   [7 8]]]
सरणी 2...
 [['p' 'q']
  ['r' 's']]
सरणी 1 के आयाम...
 3
सरणी 2 के आयाम...
 2
सरणी 1 का आकार...
 (2, 2, 2)
सरणी 2 का आकार...
 (2, 2)
टेंसर डॉट उत्पाद...
 [[['prr' 'qss']
   ['ppprrrr' 'qqqssss']]

 [['ppppprrrrrr' 'qqqqqssssss']
  ['ppppppprrrrrrrr' 'qqqqqqqssssssss']]]

व्याख्या: axes=1 का अर्थ है arr1 के अंतिम अक्ष (आकार 2) और arr2 के पहले अक्ष (आकार 2) पर योग करना। परिणाम का आकार (2, 2, 2) होता है: arr1 के पहले दो अक्ष (2,2) और arr2 के अंतिम अक्ष (2) बने रहते हैं।

  1. - Python में दो मल्टी-डायमेंशनल ऐरे का इनर प्रोडक्ट निकालें

    NumPy का numpy.inner() फंक्शन दो मल्टी-डायमेंशनल ऐरे का इनर प्रोडक्ट निकालता है। 1D के लिए डॉट प्रोडक्ट, उच्च आयामों के लिए अंतिम अक्ष पर सम-गुणनफल। सिंटैक्स numpy.inner(a, b) a, b: इनपुट ऐरे। नॉन-स्केलर होने पर अंतिम आयाम समान होना चाहिए। वापसी: आकार a.shape[:-1] + b.shape[:-1] का ऐरे। 2D

  1. - पायथन में 4D और 3D आयाम वाली सरणियों का क्रोनेकर प्रोडक्ट प्राप्त करना

    4D और 3D आयाम वाली सरणी का क्रोनेकर प्रोडक्ट प्राप्त करने के लिए, पायथन NumPy में numpy.kron() विधि का उपयोग करें। क्रोनेकर प्रोडक्ट की गणना करें, जो दूसरी सरणी के ब्लॉकों से बनी एक समग्र सरणी है जिसे पहली सरणी द्वारा स्केल किया गया है। यह फ़ंक्शन मानता है कि a और b के आयामों की संख्या समान है, यदि

  1. Python Matplotlib में एक्सिस पर वेक्टर फील्ड कैसे प्लॉट करें? Python Matplotlib में एक्सिस पर वेक्टर फील्ड कैसे प्लॉट करें?

    Matplotlib में एक्सिस पर वेक्टर फील्ड प्लॉट करने के लिए, हम निम्नलिखित चरण अपना सकते हैं:फिगर का आकार सेट करें और सबप्लॉट के बीच और आसपास पैडिंग समायोजित करें।Numpy का उपयोग करके X, Y, T, R, U और V डेटा पॉइंट्स बनाएं।वर्तमान फिगर में एक्सिस जोड़ें और इसे वर्तमान एक्सिस बनाएं।quiver() मेथड का उपयोग क