تينسورفلو :: العمليات :: ماتريكس سيت دياج
#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))
الناتج هو موتر من الرتبة 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] 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] ; otherwiseحيث
d = 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
r
whenk
is 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.
k
can 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
operation
Operation operation
انتاج
::tensorflow::Output output
الوظائف العامة
ماتريكس سيت دياج
MatrixSetDiagV2( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input diagonal, ::tensorflow::Input k )
العقدة
::tensorflow::Node * node() const
المشغل :: tensorflow :: الإدخال
operator::tensorflow::Input() const
المشغل :: Tensorflow :: Output
operator::tensorflow::Output() const
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2020-04-20 (حسب التوقيت العالمي المتفَّق عليه)