إرجاع موتر مصفوفة مجمعة بقيم قطرية مجمعة جديدة.
بالنظر إلى "الإدخال" و"القطري"، تُرجع هذه العملية موترًا له نفس الشكل والقيم مثل "الإدخال"، باستثناء الأقطار المحددة للمصفوفات الأعمق. سيتم استبدالها بالقيم الموجودة في "قطري".
`الإدخال` له أبعاد `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> | كإخراج () إرجاع المقبض الرمزي للموتر. |
ثابت <T> MatrixSetDiagV2 <T> | |
الإخراج <T> | الإخراج () رتبة `r+1`، مع `output.shape = input.shape`. |
الطرق الموروثة
الأساليب العامة
الإخراج العام <T> كإخراج ()
إرجاع المقبض الرمزي للموتر.
المدخلات إلى عمليات TensorFlow هي مخرجات عملية TensorFlow أخرى. يتم استخدام هذه الطريقة للحصول على مقبض رمزي يمثل حساب الإدخال.
إنشاء MatrixSetDiagV2 <T> ثابت عام (نطاق النطاق ، إدخال المعامل <T>، المعامل <T> قطري، المعامل <عدد صحيح> k)
طريقة المصنع لإنشاء فئة تغلف عملية MatrixSetDiagV2 جديدة.
حدود
نِطَاق | النطاق الحالي |
---|---|
مدخل | الرتبة `r+1`، حيث `r >= 1`. |
قطري | رتب `r` عندما يكون `k` عددًا صحيحًا أو `k[0] == k[1]`. وبخلاف ذلك، فقد حصلت على رتبة `r+1`. `ك>= 1`. |
ك | الإزاحة القطرية. القيمة الموجبة تعني القطر الفائق، 0 تشير إلى القطر الرئيسي، والقيمة السالبة تعني الأقطار الفرعية. يمكن أن يكون `k` عددًا صحيحًا واحدًا (لقطر واحد) أو زوجًا من الأعداد الصحيحة التي تحدد الأطراف المنخفضة والعالية لنطاق المصفوفة. يجب ألا يكون `k[0]` أكبر من `k[1]`. |
المرتجعات
- مثيل جديد من MatrixSetDiagV2