टेन्सरफ्लो::ऑप्स::मैट्रिक्सडायगवी2
#include <array_ops.h>यह दिए गए बैच्ड डायगोनल मानों के साथ एक बैच्ड डायगोनल टेंसर लौटाता है।
सारांश
यह diagonal एक टेंसर लौटाता है जिसमें मैट्रिक्स के k[0] से k[1] विकर्णों तक की सामग्री होती है, और बाकी सभी मानों में padding जोड़ी जाती है। num_rows और num_cols आउटपुट मैट्रिक्स के सबसे भीतरी मैट्रिक्स का आयाम निर्दिष्ट करते हैं। यदि दोनों निर्दिष्ट नहीं हैं, तो फ़ंक्शन मानता है कि सबसे भीतरी मैट्रिक्स वर्गाकार है और k तथा diagonal के सबसे भीतरी आयाम से इसका आकार अनुमानित करता है। यदि इनमें से केवल एक निर्दिष्ट है, तो फ़ंक्शन मानता है कि अनिर्दिष्ट मान अन्य मानदंडों के आधार पर सबसे छोटा संभव मान है।
मान लीजिए कि diagonal आयाम r हैं [I, J, ..., L, M, N] । आउटपुट टेंसर का रैंक r+1 है और उसका आकार [I, J, ..., L, M, num_rows, num_cols] , जब केवल एक विकर्ण दिया गया हो ( k एक पूर्णांक हो या k[0] == k[1] )। अन्यथा, इसका रैंक r है और उसका आकार [I, J, ..., L, num_rows, num_cols] ।
diagonal के दूसरे सबसे भीतरी आयाम का दोहरा अर्थ है। जब k अदिश राशि हो या k[0] == k[1] , M बैच आकार [I, J, ..., M] का हिस्सा हो, तो आउटपुट टेंसर इस प्रकार है:
output[i, j, ..., l, m, n]
= diagonal[i, j, ..., l, n-max(d_upper, 0)] ; if n - m == d_upper
padding_value ; otherwise अन्यथा, M उसी बैच में मैट्रिक्स के विकर्णों की संख्या के रूप में माना जाता है ( M = k[1]-k[0]+1 ), और आउटपुट टेंसर इस प्रकार है:
output[i, j, ..., l, m, n]
= diagonal[i, j, ..., l, diag_index, index_in_diag] ; if k[0] <= d <= k[1]
padding_value ; otherwised = n - m , diag_index = k[1] - d , और index_in_diag = n - max(d, 0) .उदाहरण के लिए:
# The main diagonal. diagonal = np.array([[1, 2, 3, 4], # Input shape: (2, 4) [5, 6, 7, 8]]) tf.matrix_diag(diagonal) ==> [[[1, 0, 0, 0], # Output shape: (2, 4, 4) [0, 2, 0, 0], [0, 0, 3, 0], [0, 0, 0, 4]], [[5, 0, 0, 0], [0, 6, 0, 0], [0, 0, 7, 0], [0, 0, 0, 8]]]
# A superdiagonal (per batch). diagonal = np.array([[1, 2, 3], # Input shape: (2, 3) [4, 5, 6]]) tf.matrix_diag(diagonal, k = 1) ==> [[[0, 1, 0, 0], # Output shape: (2, 4, 4) [0, 0, 2, 0], [0, 0, 0, 3], [0, 0, 0, 0]], [[0, 4, 0, 0], [0, 0, 5, 0], [0, 0, 0, 6], [0, 0, 0, 0]]]
# A band of diagonals. diagonals = np.array([[[1, 2, 3], # Input shape: (2, 2, 3) [4, 5, 0]], [[6, 7, 9], [9, 1, 0]]]) tf.matrix_diag(diagonals, k = (-1, 0)) ==> [[[1, 0, 0], # Output shape: (2, 3, 3) [4, 2, 0], [0, 5, 3]], [[6, 0, 0], [9, 7, 0], [0, 1, 9]]]
# Rectangular matrix. diagonal = np.array([1, 2]) # Input shape: (2) tf.matrix_diag(diagonal, k = -1, num_rows = 3, num_cols = 4) ==> [[0, 0, 0, 0], # Output shape: (3, 4) [1, 0, 0, 0], [0, 2, 0, 0]]
# Rectangular matrix with inferred num_cols and padding_value = 9. tf.matrix_diag(diagonal, k = -1, num_rows = 3, padding_value = 9) ==> [[9, 9], # Output shape: (3, 2) [1, 9], [9, 2]]
तर्क:
- स्कोप: एक स्कोप ऑब्जेक्ट
- विकर्ण: रैंक
r, जहाँr >= 1 - k: विकर्ण ऑफसेट। धनात्मक मान सुपरविकर्ण को दर्शाता है, 0 मुख्य विकर्ण को और ऋणात्मक मान उपविकर्णों को दर्शाता है।
kएक एकल पूर्णांक (एकल विकर्ण के लिए) या मैट्रिक्स बैंड के निम्न और उच्च सिरों को निर्दिष्ट करने वाले पूर्णांकों का एक युग्म हो सकता है।k[0]k[1]से बड़ा नहीं होना चाहिए। - num_rows: आउटपुट मैट्रिक्स की पंक्तियों की संख्या। यदि यह प्रदान नहीं की जाती है, तो ऑपरेशन यह मान लेता है कि आउटपुट मैट्रिक्स एक वर्ग मैट्रिक्स है और k तथा
diagonalके सबसे भीतरी आयाम से मैट्रिक्स का आकार निकालता है। - num_cols: आउटपुट मैट्रिक्स के स्तंभों की संख्या। यदि यह प्रदान नहीं किया जाता है, तो ऑपरेशन यह मान लेता है कि आउटपुट मैट्रिक्स एक वर्ग मैट्रिक्स है और k तथा
diagonalके सबसे भीतरी आयाम से मैट्रिक्स का आकार निकालता है। - padding_value: निर्दिष्ट विकर्ण पट्टी के बाहर के क्षेत्र को भरने के लिए उपयोग की जाने वाली संख्या। डिफ़ॉल्ट मान 0 है।
प्रतिफल:
-
Output:kएक पूर्णांक होने पर याk[0] == k[1]पर रैंकr+1होती है, अन्यथा रैंकrहोती है।
कंस्ट्रक्टर और डिस्ट्रक्टर | |
|---|---|
MatrixDiagV2 (const :: tensorflow::Scope & scope, :: tensorflow::Input diagonal, :: tensorflow::Input k, :: tensorflow::Input num_rows, :: tensorflow::Input num_cols, :: tensorflow::Input padding_value) |
सार्वजनिक विशेषताएँ | |
|---|---|
operation | |
output | |
सार्वजनिक समारोह | |
|---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const | |
सार्वजनिक विशेषताएँ
संचालन
Operation operation
आउटपुट
::tensorflow::Output output
सार्वजनिक समारोह
मैट्रिक्सडायगवी2
MatrixDiagV2( const ::tensorflow::Scope & scope, ::tensorflow::Input diagonal, ::tensorflow::Input k, ::tensorflow::Input num_rows, ::tensorflow::Input num_cols, ::tensorflow::Input padding_value )
नोड
::tensorflow::Node * node() const
ऑपरेटर::टेन्सरफ्लो::इनपुट
operator::tensorflow::Input() const
ऑपरेटर::टेन्सरफ्लो::आउटपुट
operator::tensorflow::Output() const