MatrixDiagPart

کلاس نهایی عمومی MatrixDiagPart

قسمت مورب دسته بندی شده یک تانسور دسته ای را برمی گرداند.

تانسوری را با قطرهای «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 = 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]]]
 

ثابت ها

رشته OP_NAME نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود

روش های عمومی

خروجی <T>
asOutput ()
دسته نمادین تانسور را برمی گرداند.
static <T TType > MatrixDiagPart <T> را گسترش می دهد
ایجاد ( دامنه دامنه ، ورودی عملوند <T>، عملوند < TINT32 > k، عملوند <T> paddingValue)
روش کارخانه برای ایجاد کلاسی که یک عملیات MatrixDiagPart جدید را بسته بندی می کند.
خروجی <T>
مورب ()
قطر(های) استخراج شده

روش های ارثی

ثابت ها

رشته نهایی ثابت عمومی OP_NAME

نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود

مقدار ثابت: "MatrixDiagPartV2"

روش های عمومی

خروجی عمومی <T> asOutput ()

دسته نمادین تانسور را برمی گرداند.

ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.

عمومی ایستا MatrixDiagPart <T> ایجاد ( دامنه دامنه ، ورودی عملوند <T>، عملوند < TINT32 > k، عملوند <T> paddingValue)

روش کارخانه برای ایجاد کلاسی که یک عملیات MatrixDiagPart جدید را بسته بندی می کند.

مولفه های
محدوده محدوده فعلی
ورودی تانسور `r` در جایی که `r >= 2` رتبه بندی کنید.
ک افست (های) مورب. مقدار مثبت به معنای ابر قطری، 0 به قطر اصلی و مقدار منفی به معنای قطرهای فرعی است. `k` می تواند یک عدد صحیح منفرد (برای یک مورب) یا یک جفت اعداد صحیح باشد که انتهای پایین و بالای یک باند ماتریس را مشخص می کند. «k[0]» نباید بزرگتر از «k[1]» باشد.
paddingValue مقداری که باید ناحیه خارج از نوار مورب مشخص شده را با آن پر کنید. پیش فرض 0 است.
برمی گرداند
  • یک نمونه جدید از MatrixDiagPart

خروجی عمومی <T> مورب ()

قطر(های) استخراج شده