MatrixDiagPartV2

публичный финальный класс MatrixDiagPartV2

Возвращает пакетную диагональную часть пакетного тензора.

Возвращает тензор с диагоналями от `k[0]` до `k[1]` пакетного `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]]]
 

Публичные методы

Выход <Т>
какВывод ()
Возвращает символический дескриптор тензора.
статический <T> MatrixDiagPartV2 <T>
create (Область действия , ввод операнда <T>, операнд <целое число> k, операнд <T>_paddingValue)
Фабричный метод для создания класса, обертывающего новую операцию MatrixDiagPartV2.
Выход <Т>
диагональ ()
Извлеченная диагональ(и).

Унаследованные методы

Публичные методы

публичный вывод <T> asOutput ()

Возвращает символический дескриптор тензора.

Входные данные для операций TensorFlow являются выходными данными другой операции TensorFlow. Этот метод используется для получения символического дескриптора, который представляет собой вычисление входных данных.

public static MatrixDiagPartV2 <T> create (область действия , ввод операнда <T>, операнд <Integer> k, операнд <T> paddingValue)

Фабричный метод для создания класса, обертывающего новую операцию MatrixDiagPartV2.

Параметры
объем текущий объем
вход Тензор ранга `r`, где `r >= 2`.
к Диагональное смещение(я). Положительное значение означает супердиагональ, 0 относится к главной диагонали, а отрицательное значение означает поддиагонали. `k` может быть одним целым числом (для одной диагонали) или парой целых чисел, определяющих нижний и верхний пределы полосы матрицы. `k[0]` не должен быть больше `k[1]`.
значение отступа Значение, которым нужно заполнить область за пределами указанной диагональной полосы. По умолчанию — 0.
Возврат
  • новый экземпляр MatrixDiagPartV2

публичный выход <T> по диагонали ()

Извлеченная диагональ(и).