MatrixDiagPartV2

clase final pública MatrixDiagPartV2

Devuelve la parte diagonal por lotes de un tensor por lotes.

Devuelve un tensor con las diagonales `k[0]`-th a `k[1]`-th de la `entrada` por lotes.

Supongamos que `entrada` tiene dimensiones `r` `[I, J, ..., L, M, N]`. Sea `max_diag_len` la longitud máxima entre todas las diagonales a extraer, `max_diag_len = min(M + min(k[1], 0), N + min(-k[0], 0))` Sea `num_diags` Sea el número de diagonales a extraer, `num_diags = k[1] - k[0] + 1`.

Si `num_diags == 1`, el tensor de salida es de rango `r - 1` con forma `[I, J, ..., L, max_diag_len]` y valores:

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.
 
donde `y = max(-k [1], 0)`, `x = máx(k[1], 0)`.

De lo contrario, el tensor de salida tiene rango `r` con dimensiones `[I, J, ..., L, num_diags, max_diag_len]` con valores:

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.
 
donde `d = k[1] - m`, `y = max(-d, 0)` y `x = max(d, 0)`.

La entrada debe ser al menos una matriz.

Por ejemplo:

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]]]
 

Métodos públicos

Salida <T>
como salida ()
Devuelve el identificador simbólico de un tensor.
estático <T> MatrixDiagPartV2 <T>
crear ( Ámbito de ámbito, Operando <T> entrada, Operando <Entero> k, Operando <T> paddingValue)
Método de fábrica para crear una clase que envuelve una nueva operación MatrixDiagPartV2.
Salida <T>
diagonal ()
Las diagonales extraídas.

Métodos Heredados

Métodos públicos

salida pública <T> como salida ()

Devuelve el identificador simbólico de un tensor.

Las entradas de las operaciones de TensorFlow son salidas de otra operación de TensorFlow. Este método se utiliza para obtener un identificador simbólico que representa el cálculo de la entrada.

público estático MatrixDiagPartV2 <T> crear ( Alcance alcance, Operando <T> entrada, Operando <Entero> k, Operando <T> paddingValue)

Método de fábrica para crear una clase que envuelve una nueva operación MatrixDiagPartV2.

Parámetros
alcance alcance actual
aporte Tensor de rango `r` donde `r >= 2`.
k Desplazamiento(s) diagonal(es). Un valor positivo significa superdiagonal, 0 se refiere a la diagonal principal y un valor negativo significa subdiagonales. `k` puede ser un solo número entero (para una sola diagonal) o un par de números enteros que especifican los extremos inferior y superior de una banda de matriz. `k[0]` no debe ser mayor que `k[1]`.
valor de relleno El valor con el que rellenar el área fuera de la banda diagonal especificada. El valor predeterminado es 0.
Devoluciones
  • una nueva instancia de MatrixDiagPartV2

Salida pública <T> diagonal ()

Las diagonales extraídas.