नए बैच वाले विकर्ण मानों के साथ बैचयुक्त मैट्रिक्स टेंसर लौटाता है।
`इनपुट` और `विकर्ण` को देखते हुए, यह ऑपरेशन अंतरतम मैट्रिक्स के निर्दिष्ट विकर्णों को छोड़कर, `इनपुट` के समान आकार और मान के साथ एक टेंसर लौटाता है। इन्हें 'विकर्ण' में मानों द्वारा अधिलेखित कर दिया जाएगा।
`इनपुट` में `r+1` आयाम `[I, J, ..., L, M, N]` हैं। जब `k` अदिश राशि है या `k[0] == k[1]`, `विकर्ण` के `r` आयाम `[I, J, ..., L, max_diag_len]` हैं। अन्यथा, इसके `r+1` आयाम `[I, J, ..., L, num_diags, max_diag_len]` हैं। `num_diags` विकर्णों की संख्या है, `num_diags = k[1] - k[0] + 1`। `max_diag_len` `[k[0], k[1]] की श्रेणी में सबसे लंबा विकर्ण है, `max_diag_len = min(M + min(k[1], 0), N + min(-k[0] , 0))`
आउटपुट `k+1` रैंक का एक टेंसर है जिसका आयाम `[I, J, ..., L, M, N]` है। यदि `k` अदिश राशि है या `k[0] == k[1]`:
output[i, j, ..., l, m, n]
= diagonal[i, j, ..., l, n-max(k[1], 0)] ; if n - m == k[1]
input[i, j, ..., l, m, n] ; otherwise
अन्यथा, output[i, j, ..., l, m, n]
= diagonal[i, j, ..., l, diag_index, index_in_diag] ; if k[0] <= d <= k[1]
input[i, j, ..., l, m, n] ; otherwise
जहां `d = n - m`, `diag_index = k[1] - d`, और `index_in_diag = n - max(d, 0)`।उदाहरण के लिए:
# The main diagonal.
input = np.array([[[7, 7, 7, 7], # Input shape: (2, 3, 4)
[7, 7, 7, 7],
[7, 7, 7, 7]],
[[7, 7, 7, 7],
[7, 7, 7, 7],
[7, 7, 7, 7]]])
diagonal = np.array([[1, 2, 3], # Diagonal shape: (2, 3)
[4, 5, 6]])
tf.matrix_set_diag(diagonal) ==> [[[1, 7, 7, 7], # Output shape: (2, 3, 4)
[7, 2, 7, 7],
[7, 7, 3, 7]],
[[4, 7, 7, 7],
[7, 5, 7, 7],
[7, 7, 6, 7]]]
# A superdiagonal (per batch).
tf.matrix_set_diag(diagonal, k = 1)
==> [[[7, 1, 7, 7], # Output shape: (2, 3, 4)
[7, 7, 2, 7],
[7, 7, 7, 3]],
[[7, 4, 7, 7],
[7, 7, 5, 7],
[7, 7, 7, 6]]]
# A band of diagonals.
diagonals = np.array([[[1, 2, 3], # Diagonal shape: (2, 2, 3)
[4, 5, 0]],
[[6, 1, 2],
[3, 4, 0]]])
tf.matrix_set_diag(diagonals, k = (-1, 0))
==> [[[1, 7, 7, 7], # Output shape: (2, 3, 4)
[4, 2, 7, 7],
[0, 5, 3, 7]],
[[6, 7, 7, 7],
[3, 1, 7, 7],
[7, 4, 2, 7]]]
सार्वजनिक तरीके
आउटपुट <T> | आउटपुट के रूप में () टेंसर का प्रतीकात्मक हैंडल लौटाता है। |
स्थिर <टी> मैट्रिक्ससेटडायगवी2 <टी> | |
आउटपुट <T> | आउटपुट () रैंक `r+1`, `आउटपुट.शेप = इनपुट.शेप` के साथ। |
विरासत में मिली विधियाँ
सार्वजनिक तरीके
सार्वजनिक आउटपुट <T> asOutput ()
टेंसर का प्रतीकात्मक हैंडल लौटाता है।
TensorFlow संचालन के इनपुट किसी अन्य TensorFlow ऑपरेशन के आउटपुट हैं। इस पद्धति का उपयोग एक प्रतीकात्मक हैंडल प्राप्त करने के लिए किया जाता है जो इनपुट की गणना का प्रतिनिधित्व करता है।
सार्वजनिक स्थैतिक MatrixSetDiagV2 <T> बनाएं ( स्कोप स्कोप, ऑपरेंड <T> इनपुट, ऑपरेंड <T> विकर्ण, ऑपरेंड <पूर्णांक> k)
नए MatrixSetDiagV2 ऑपरेशन को लपेटकर एक क्लास बनाने की फ़ैक्टरी विधि।
पैरामीटर
दायरा | वर्तमान दायरा |
---|---|
इनपुट | रैंक `r+1`, जहां `r >= 1`. |
विकर्ण | रैंक `r` जब `k` एक पूर्णांक है या `k[0] == k[1]`। अन्यथा, इसकी रैंक `r+1` है। `k >= 1`. |
के | विकर्ण ऑफसेट। सकारात्मक मान का अर्थ है सुपरविकर्ण, 0 मुख्य विकर्ण को संदर्भित करता है, और नकारात्मक मान का अर्थ है उपविकर्ण। `k` एक एकल पूर्णांक (एकल विकर्ण के लिए) या मैट्रिक्स बैंड के निम्न और उच्च सिरों को निर्दिष्ट करने वाले पूर्णांकों की एक जोड़ी हो सकता है। `k[0]` `k[1]` से बड़ा नहीं होना चाहिए। |
रिटर्न
- MatrixSetDiagV2 का एक नया उदाहरण