टेंसरफ़्लो:: ऑप्स:: मैट्रिक्ससेटडायगV2
#include <array_ops.h>नए बैच वाले विकर्ण मानों के साथ बैचयुक्त मैट्रिक्स टेंसर लौटाता है।
सारांश
input और diagonal देखते हुए, यह ऑपरेशन input के समान आकार और मान के साथ एक टेंसर लौटाता है, अंतरतम मैट्रिक्स के निर्दिष्ट विकर्णों को छोड़कर। इन्हें diagonal में मानों द्वारा अधिलेखित कर दिया जाएगा।
input में r+1 आयाम हैं [I, J, ..., L, M, N] । जब k अदिश या k[0] == k[1] , diagonal 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))
आउटपुट [I, J, ..., L, M, N] आयामों के साथ रैंक k+1 का एक टेंसर है। यदि 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]
output[i, j, ..., l, m, n] ; otherwiseअन्यथा,
output[i, j, ..., l, m, n]
= diagonal[i, j, ..., l, k[1]-d, n-max(d, 0)] ; if d_lower <= d <= d_upper
input[i, j, ..., l, m, n] ; otherwised = n - mउदाहरण के लिए:
# 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_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_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_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]]]Arguments:
- scope: A Scope object
- input: Rank
r+1, wherer >= 1. - diagonal: Rank
rwhenkis an integer ork[0] == k[1]. Otherwise, it has rankr+1.k >= 1. - k: Diagonal offset(s). Positive value means superdiagonal, 0 refers to the main diagonal, and negative value means subdiagonals.
kcan be a single integer (for a single diagonal) or a pair of integers specifying the low and high ends of a matrix band.k[0]must not be larger thank[1].
Returns:
Output: Rankr+1, withoutput.shape = input.shape.
Constructors and Destructors |
|
|---|---|
MatrixSetDiagV2(const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input diagonal, ::tensorflow::Input k)
|
Public attributes |
|
|---|---|
operation
|
|
output
|
|
Public functions |
|
|---|---|
node() const
|
::tensorflow::Node *
|
operator::tensorflow::Input() const
|
|
operator::tensorflow::Output() const
|
|
Public attributes
आउटपुट
::tensorflow::Output output
सार्वजनिक समारोह
मैट्रिक्ससेटडायगV2
MatrixSetDiagV2( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input diagonal, ::tensorflow::Input k )
नोड
::tensorflow::Node * node() const
ऑपरेटर::टेन्सरफ़्लो::इनपुट
operator::tensorflow::Input() const
ऑपरेटर::टेन्सरफ़्लो::आउटपुट
operator::tensorflow::Output() const