جریان تنسور:: عملیات:: MatrixDiagPartV2
#include <array_ops.h>
قسمت مورب دسته بندی شده یک تانسور دسته ای را برمی گرداند.
خلاصه
یک تانسور با قطرهای k[0]
-th به k[1]
-امین input
دستهای را برمیگرداند.
فرض کنید input
دارای ابعاد r
[I, J, ..., L, M, N]
است. اجازه دهید max_diag_len
حداکثر طول در بین تمام قطرهایی باشد که باید استخراج شوند، max_diag_len = min(M + min(k[1], 0), N + min(-k[0], 0))
اجازه دهید num_diags
تعداد قطرهای به استخراج، num_diags = k[1] - k[0] + 1
.
اگر num_diags == 1
، تانسور خروجی دارای رتبه r - 1
با شکل [I, J, ..., L, max_diag_len]
و مقادیر:
diagonal[i, j, ..., l, n] = input[i, j, ..., l, n+y, n+x] ; if 0 <= n+y < M and 0 <= n+x < N, padding_value ; otherwise.که در آن
y = max(-k[1], 0)
، x = max(k[1], 0)
. در غیر این صورت، تانسور خروجی دارای رتبه r
با ابعاد [I, J, ..., L, num_diags, max_diag_len]
با مقادیر است:
diagonal[i, j, ..., l, m, n] = input[i, j, ..., l, n+y, n+x] ; if 0 <= n+y < M and 0 <= n+x < N, padding_value ; otherwise.که در آن
d = k[1] - m
، y = max(-d, 0)
و x = max(d, 0)
.ورودی باید حداقل یک ماتریس باشد.
به عنوان مثال:
input = np.array([[[1, 2, 3, 4], # Input shape: (2, 3, 4) [5, 6, 7, 8], [9, 8, 7, 6]], [[5, 4, 3, 2], [1, 2, 3, 4], [5, 6, 7, 8]]])
# A main diagonal from each batch. tf.matrix_diag_part(input) ==> [[1, 6, 7], # Output shape: (2, 3) [5, 2, 7]]
# A superdiagonal from each batch. tf.matrix_diag_part(input, k = 1) ==> [[2, 7, 6], # Output shape: (2, 3) [4, 3, 8]]
# A tridiagonal band from each batch. tf.matrix_diag_part(input, k = (-1, 1)) ==> [[[2, 7, 6], # Output shape: (2, 3, 3) [1, 6, 7], [5, 8, 0]], [[4, 3, 8], [5, 2, 7], [1, 6, 0]]]
# Padding value = 9 tf.matrix_diag_part(input, k = (1, 3), padding_value = 9) ==> [[[4, 9, 9], # Output shape: (2, 3, 3) [3, 8, 9], [2, 7, 6]], [[2, 9, 9], [3, 4, 9], [4, 3, 8]]]
استدلال ها:
- scope: یک شی Scope
- ورودی: رتبه
r
تانسور جایی کهr >= 2
. - k: افست (های) مورب. مقدار مثبت به معنای ابر قطری، 0 به قطر اصلی و مقدار منفی به معنای قطرهای فرعی است.
k
می تواند یک عدد صحیح منفرد (برای یک مورب) یا یک جفت اعداد صحیح باشد که انتهای پایین و بالای یک باند ماتریس را مشخص می کند.k[0]
نباید بزرگتر ازk[1]
باشد. - padding_value: مقداری که باید ناحیه خارج از نوار مورب مشخص شده را پر کنید. پیش فرض 0 است.
برمی گرداند:
-
Output
: قطر(های) استخراج شده.
سازندگان و ویرانگرها | |
---|---|
MatrixDiagPartV2 (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input k, :: tensorflow::Input padding_value) |
صفات عمومی | |
---|---|
diagonal | |
operation |
توابع عمومی | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
صفات عمومی
مورب
::tensorflow::Output diagonal
عملیات
Operation operation
توابع عمومی
MatrixDiagPartV2
MatrixDiagPartV2( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input k, ::tensorflow::Input padding_value )
گره
::tensorflow::Node * node() const
عملگر::tensorflow::ورودی
operator::tensorflow::Input() const
عملگر::tensorflow::خروجی
operator::tensorflow::Output() const
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2024-11-21 بهوقت ساعت هماهنگ جهانی.