tensorflow::ops::MatrixSetDiagV2
#include <array_ops.h>Yeni gruplandırılmış köşegen değerlerine sahip gruplandırılmış bir matris tensörü döndürür.
Özet
input ve diagonal için, bu işlem, içteki matrislerin belirtilen köşegenleri hariç, input ile aynı şekil ve değerlere sahip bir tensör döndürür. Bu köşegenler, diagonal matrisindeki değerlerle üzerine yazılacaktır.
input r+1 boyuta sahiptir [I, J, ..., L, M, N] . k skaler olduğunda veya k[0] == k[1] , diagonal r boyuta sahiptir [I, J, ..., L, max_diag_len] . Aksi takdirde, r+1 boyuta sahiptir [I, J, ..., L, num_diags, max_diag_len] . num_diags , köşegen sayısıdır, num_diags = k[1] - k[0] + 1 max_diag_len [k[0], k[1]] aralığındaki en uzun köşegendir, max_diag_len = min(M + min(k[1], 0), N + min(-k[0], 0))
Çıktı [I, J, ..., L, M, N] boyutlarında k+1 mertebeli bir tensördür. Eğer k skaler ise veya 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] ; otherwiseAksi takdirde,
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] ; otherwised = n - m , diag_index = k[1] - d ve index_in_diag = n - max(d, 0) .Örneğin:
# 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]]]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
çıktı
::tensorflow::Output output
Kamusal işlevler
MatrixSetDiagV2
MatrixSetDiagV2( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input diagonal, ::tensorflow::Input k )
düğüm
::tensorflow::Node * node() const
operatör::tensorflow::Giriş
operator::tensorflow::Input() const
operatör::tensorflow::Çıktı
operator::tensorflow::Output() const