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

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

दो टेंसर, a और b, और एक array_like ऑब्जेक्ट जिसमें दो array_like ऑब्जेक्ट हैं, (a_axes,b_axes), a_axes और b_axes द्वारा निर्दिष्ट कुल्हाड़ियों पर a और b के तत्वों (घटकों) के उत्पादों को योग करें। तीसरा तर्क एक एकल गैर-ऋणात्मक पूर्णांक_जैसे अदिश, N हो सकता है; यदि ऐसा है, तो a के अंतिम N आयामों और b के पहले N आयामों को जोड़ दिया जाता है।

विभिन्न आयामों वाले सरणियों के लिए टेंसर डॉट उत्पाद की गणना करने के लिए, पायथन में numpy.tensordot () विधि का उपयोग करें। a, b पैरामीटर "डॉट" के टेंसर हैं।

कुल्हाड़ियों पैरामीटर, पूर्णांक_जैसे यदि एक int N, a के अंतिम N अक्षों पर योग और b inorder के पहले 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("Array1...\n",arr1)
print("\nArray2...\n",arr2)

दोनों सरणियों के आयामों की जाँच करें -

print("\nDimensions of Array1...\n",arr1.ndim)
print("\nDimensions of Array2...\n",arr2.ndim)

दोनों सरणियों के आकार की जाँच करें -

print("\nShape of Array1...\n",arr1.shape)
print("\nShape of Array2...\n",arr2.shape)

विभिन्न आयामों वाले सरणियों के लिए टेंसर डॉट उत्पाद की गणना करने के लिए, numpy.tensordot()विधि का उपयोग करें -

print("\nTensor dot product...\n", np.tensordot(arr1, arr2, axes = 1))

उदाहरण

import numpy as np

# Creating two numpy arrays with different dimensions using the array() method
arr1 = np.array(range(1, 9))
arr1.shape = (2, 2, 2)
arr2 = np.array(('p', 'q', 'r', 's'), dtype=object)
arr2.shape = (2, 2)

# Display the arrays
print("Array1...\n",arr1)
print("\nArray2...\n",arr2)

# Check the Dimensions of both the arrays
print("\nDimensions of Array1...\n",arr1.ndim)
print("\nDimensions of Array2...\n",arr2.ndim)

# Check the Shape of both the arrays
print("\nShape of Array1...\n",arr1.shape)
print("\nShape of Array2...\n",arr2.shape)

# To compute the tensor dot product for arrays with different dimensions, use the numpy.tensordot() method in Python
# The a, b parameters are Tensors to “dot”.
print("\nTensor dot product...\n", np.tensordot(arr1, arr2, axes = 1))

आउटपुट

Array1...
[[[1 2]
[3 4]]

[[5 6]
[7 8]]]

Array2...
[['p' 'q']
['r' 's']]

Dimensions of Array1...
3

Dimensions of Array2...
2

Shape of Array1...
(2, 2, 2)

Shape of Array2...
(2, 2)

Tensor dot product...
[[['prr' 'qss']
['ppprrrr' 'qqqssss']]

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

  1. पायथन में दो बहु-आयामी सरणियों का आंतरिक उत्पाद प्राप्त करें

    दो बहु-आयामी सरणियों का आंतरिक उत्पाद प्राप्त करने के लिए, पायथन में numpy.inner() विधि का उपयोग करें। 1-डी सरणियों के लिए वैक्टर का साधारण आंतरिक उत्पाद, उच्च आयामों में अंतिम अक्षों पर एक योग उत्पाद। पैरामीटर 1 और बी, दो वैक्टर हैं। अगर a और b अस्केलर हैं, तो उनके अंतिम आयामों का मिलान होना चाहिए।

  1. पायथन में 4D और 3D आयामों के साथ सरणियों का क्रोनकर उत्पाद प्राप्त करें

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

  1. अजगर Matplotlib में कुल्हाड़ियों पर एक वेक्टर क्षेत्र प्लॉट करें?

    Matplotlib में कुल्हाड़ियों के ऊपर एक वेक्टर फ़ील्ड प्लॉट करने के लिए, हम निम्नलिखित कदम उठा सकते हैं - फिगर साइज सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग को एडजस्ट करें। X, Y, T, R, U Make बनाएं और वी डेटा अंक numpy का उपयोग कर रहे हैं। वर्तमान आकृति में एक कुल्हाड़ी जोड़ें और इसे वर्त