परिचय
पायथन में अलग-अलग आयामों वाली सरणियों का टेंसर डॉट उत्पाद गणना करने के लिए, numpy.tensordot() विधि का उपयोग करें। axes पैरामीटर में दो सरणियों के अक्षों के जोड़े निर्दिष्ट किए जा सकते हैं जिन पर योग करना है।
पैरामीटर्स
- a, b: टेंसर जिनका डॉट उत्पाद लेना है।
- axes: अक्षों के जोड़े की सरणी ([a_axes, b_axes])। निर्दिष्ट करता है कि किन अक्षों पर योग करना है।
चरण-दर-चरण उदाहरण
आवश्यक लाइब्रेरी आयात करें
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=((0,1),(0,1)))
print("\nटेंसर डॉट उत्पाद...\n", np.tensordot(arr1, arr2, ((0, 1), (0, 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)
# टेंसर डॉट उत्पाद की गणना करें
print("\nटेंसर डॉट उत्पाद...\n", np.tensordot(arr1, arr2, ((0, 1), (0, 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)
टेंसर डॉट उत्पाद...
['pqqqrrrrrsssssss' 'ppqqqqrrrrrrssssssss']
व्याख्या: axes=((0,1),(0,1)) का अर्थ है arr1 के अक्ष 0 और 1 को arr2 के अक्ष 0 और 1 के साथ संकुचित करें। arr1 के पहले दो आयाम (2,2) और arr2 के दोनों आयाम (2,2) मेल खाते हैं। परिणाम arr1 के शेष अक्ष (आकार 2) के साथ एक सरणी है जहां स्ट्रिंग संयोजन दिखाता है कि गुणन कैसे हुआ।