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

पायथन में टेंसर डॉट उत्पाद गणना करें

परिचय

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

पैरामीटर्स

  • a, b: टेंसर जिनका डॉट उत्पाद लेना है।
  • axes: अक्षों के जोड़े ([a_axes, b_axes]) या पूर्णांक N।

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

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

import numpy as np

दो 3D सरणी बनाएं

arr1 = np.arange(60.).reshape(3, 4, 5)
arr2 = np.arange(24.).reshape(4, 3, 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,0],[0,1]))

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

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

import numpy as np

# दो 3D सरणी बनाएं
arr1 = np.arange(60.).reshape(3, 4, 5)
arr2 = np.arange(24.).reshape(4, 3, 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, axes=([1, 0], [0, 1])))

आउटपुट

सरणी 1...
 [[[ 0.  1.  2.  3.  4.]
   [ 5.  6.  7.  8.  9.]
   [10. 11. 12. 13. 14.]
   [15. 16. 17. 18. 19.]]

  [[20. 21. 22. 23. 24.]
   [25. 26. 27. 28. 29.]
   [30. 31. 32. 33. 34.]
   [35. 36. 37. 38. 39.]]

  [[40. 41. 42. 43. 44.]
   [45. 46. 47. 48. 49.]
   [50. 51. 52. 53. 54.]
   [55. 56. 57. 58. 59.]]]
सरणी 2...
 [[[ 0.  1.]
   [ 2.  3.]
   [ 4.  5.]]

  [[ 6.  7.]
   [ 8.  9.]
   [10. 11.]]

  [[12. 13.]
   [14. 15.]
   [16. 17.]]

  [[18. 19.]
   [20. 21.]
   [22. 23.]]]
सरणी 1 के आयाम...
 3
सरणी 2 के आयाम...
 3
सरणी 1 का आकार...
 (3, 4, 5)
सरणी 2 का आकार...
 (4, 3, 2)
टेंसर डॉट उत्पाद...
 [[4400. 4730.]
 [4532. 4874.]
 [4664. 5018.]
 [4796. 5162.]
 [4928. 5306.]]

व्याख्या: axes=([1,0],[0,1]) का अर्थ है: arr1 के अक्ष 1 और 0 को arr2 के अक्ष 0 और 1 के साथ संकुचित करें। arr1 का आकार (3,4,5), arr2 का आकार (4,3,2)। संकुचन अक्ष मेल खाते हैं: arr1 अक्ष 1 (आकार 4) ↔ arr2 अक्ष 0 (आकार 4), arr1 अक्ष 0 (आकार 3) ↔ arr2 अक्ष 1 (आकार 3)। परिणाम आकार (5,2) होता है।

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

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

  1. - पायथन प्रोग्राम: सूची में इंडेक्स तत्व द्वारा पावर की गणना करें

    उदाहरण नीचे इसका प्रदर्शन दिया गया है: my_list = [62, 18, 12, 63, 44, 75] print(The list is :) print(my_list) my_result = [] for my_index, elem in enumerate(my_list): my_result.append(elem ** my_index) print(The result is :) print(my_result) आउटपुट The list is : [62, 18, 12, 63, 44, 75] The res

  1. - पायथन प्रोग्राम: 'G' पैटर्न प्रिंट करना

    जब * का उपयोग करके अक्षर G का पैटर्न प्रिंट करने की आवश्यकता होती है, तो एक विधि परिभाषित की जा सकती है, और नेस्टेड लूप का उपयोग संख्याओं के माध्यम से पुनरावृत्ति करने और G पैटर्न बनाने के लिए * प्रिंट करने के लिए किया जा सकता है। उदाहरण 1 and j my_line-5 and j = ((my_line-1)/2))):