قسمت مورب دسته بندی شده یک تانسور دسته ای را برمی گرداند.
تانسوری را با قطرهای «k[0]»-th به «k[1]»-امین «ورودی» دستهای برمیگرداند.
فرض کنید «ورودی» دارای ابعاد «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.
در غیر این صورت، تانسور خروجی دارای رتبه «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.
ورودی باید حداقل یک ماتریس باشد.
به عنوان مثال:
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]]]
ثابت ها
رشته | OP_NAME | نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود |
روش های عمومی
خروجی <T> | asOutput () دسته نمادین تانسور را برمیگرداند. |
static <T TType > MatrixDiagPart <T> را گسترش می دهد | |
خروجی <T> | مورب () قطر(های) استخراج شده |
روش های ارثی
ثابت ها
رشته نهایی ثابت عمومی OP_NAME
نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود
روش های عمومی
خروجی عمومی <T> asOutput ()
دسته نمادین تانسور را برمیگرداند.
ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.
عمومی ایستا MatrixDiagPart <T> ایجاد ( دامنه دامنه ، ورودی عملوند <T>، عملوند < TINT32 > k، عملوند <T> paddingValue)
روش کارخانه برای ایجاد کلاسی که یک عملیات MatrixDiagPart جدید را بسته بندی می کند.
پارامترها
دامنه | محدوده فعلی |
---|---|
ورودی | تانسور `r` در جایی که `r >= 2` رتبه بندی کنید. |
ک | افست (های) مورب. مقدار مثبت به معنای ابر قطری، 0 به قطر اصلی و مقدار منفی به معنای قطرهای فرعی است. `k` می تواند یک عدد صحیح منفرد (برای یک مورب) یا یک جفت اعداد صحیح باشد که انتهای پایین و بالای یک باند ماتریس را مشخص می کند. «k[0]» نباید بزرگتر از «k[1]» باشد. |
paddingValue | مقداری که باید ناحیه خارج از نوار مورب مشخص شده را با آن پر کنید. پیش فرض 0 است. |
برمی گرداند
- یک نمونه جدید از MatrixDiagPart