MatrixDiagPart

classe finale pubblica MatrixDiagPart

Restituisce la parte diagonale in batch di un tensore in batch.

Restituisce un tensore con le diagonali da "k[0]" a "k[1]" dell'input batch.

Supponiamo che `input` abbia dimensioni `r` `[I, J, ..., L, M, N]`. Sia `max_diag_len` la lunghezza massima tra tutte le diagonali da estrarre, `max_diag_len = min(M + min(k[1], 0), N + min(-k[0], 0))` Sia `num_diags` essere il numero di diagonali da estrarre, `num_diags = k[1] - k[0] + 1`.

Se `num_diags == 1`, il tensore di output è di rango `r - 1` con forma `[I, J, ..., L, max_diag_len]` e valori:

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

Altrimenti, il tensore di output ha rango `r` con dimensioni `[I, J, ..., L, num_diags, max_diag_len]` con valori:

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

L'input deve essere almeno una matrice.

Per esempio:

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

Costanti

Corda OP_NAME Il nome di questa operazione, come noto al motore principale di TensorFlow

Metodi pubblici

Uscita <T>
comeuscita ()
Restituisce l'handle simbolico del tensore.
statico <T estende TType > MatrixDiagPart <T>
create ( ambito ambito , operando <T> input, operando < TInt32 > k, operando <T> paddingValue)
Metodo factory per creare una classe che racchiude una nuova operazione MatrixDiagPart.
Uscita <T>
diagonale ()
Le diagonali estratte.

Metodi ereditati

Costanti

Stringa finale statica pubblica OP_NAME

Il nome di questa operazione, come noto al motore principale di TensorFlow

Valore costante: "MatrixDiagPartV2"

Metodi pubblici

Uscita pubblica <T> asOutput ()

Restituisce l'handle simbolico del tensore.

Gli input per le operazioni TensorFlow sono output di un'altra operazione TensorFlow. Questo metodo viene utilizzato per ottenere un handle simbolico che rappresenta il calcolo dell'input.

public static MatrixDiagPart <T> create ( ambito ambito, operando <T> input, operando < TInt32 > k, operando <T> paddingValue)

Metodo factory per creare una classe che racchiude una nuova operazione MatrixDiagPart.

Parametri
ambito ambito attuale
ingresso Tensore di rango `r` dove `r >= 2`.
k Offset diagonale(i). Il valore positivo significa superdiagonale, 0 si riferisce alla diagonale principale e il valore negativo significa subdiagonali. "k" può essere un singolo numero intero (per una singola diagonale) o una coppia di numeri interi che specificano le estremità inferiore e superiore di una banda di matrice. "k[0]" non deve essere maggiore di "k[1]".
valoreimbottitura Il valore con cui riempire l'area esterna alla banda diagonale specificata. L'impostazione predefinita è 0.
Ritorni
  • una nuova istanza di MatrixDiagPart

Uscita pubblica <T> diagonale ()

Le diagonali estratte.