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

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

परिचय

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

पैरामीटर्स

  • a, b: टेंसर जिनका डॉट उत्पाद लेना है।
  • axes: संकुचन के लिए अक्ष (डिफ़ॉल्ट: 2)।

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

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

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)

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

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

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))

आउटपुट

सरणी 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)
टेंसर डॉट उत्पाद...
 ['pqqrrrssss' 'pppppqqqqqqrrrrrrrssssssss']

व्याख्या: डिफ़ॉल्ट axes=2 का उपयोग करने पर, arr1 के अंतिम 2 अक्ष और arr2 के पहले 2 अक्ष संकुचित होते हैं। परिणाम ID 1005095046 के समान है क्योंकि डिफ़ॉल्ट axes=2 होता है।

  1. - Python में अलग-अलग डायमेंशन्स के दो वैक्टर्स का क्रॉस प्रोडक्ट निकालें

    NumPy का numpy.cross() फंक्शन दो वैक्टर्स का क्रॉस प्रोडक्ट (वेक्टर गुणनफल) निकालता है। यह अलग-अलग डायमेंशन्स (2D और 3D) के वैक्टर्स को भी हैंडल कर सकता है — छोटे वैक्टर को शून्य से पैड किया जाता है। सिंटैक्स और पैरामीटर्स numpy.cross(a, b, axisa=-1, axisb=-1, axisc=-1, axis=None) a, b: इनपुट व

  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 के आयामों की संख्या समान है, यदि