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