MatrixDiagPart

classe finale publique MatrixDiagPart

Renvoie la partie diagonale groupée d'un tenseur groupé.

Renvoie un tenseur avec les `k[0]`-ième à `k[1]`-ième diagonales de l'« entrée » par lots.

Supposons que « input » ait des dimensions « r » « [I, J, ..., L, M, N] ». Soit `max_diag_len` la longueur maximale parmi toutes les diagonales à extraire, `max_diag_len = min(M + min(k[1], 0), N + min(-k[0], 0))` Soit `num_diags` soit le nombre de diagonales à extraire, `num_diags = k[1] - k[0] + 1`.

Si `num_diags == 1`, le tenseur de sortie est de rang `r - 1` de forme `[I, J, ..., L, max_diag_len]` et valeurs :

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

Sinon, le tenseur de sortie a le rang `r` avec les dimensions `[I, J, ..., L, num_diags, max_diag_len]` avec les valeurs :

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

L'entrée doit être au moins une matrice.

Par exemple :

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

Constantes

Chaîne OP_NAME Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Méthodes publiques

Sortie <T>
comme Sortie ()
Renvoie le handle symbolique du tenseur.
statique <T étend TType > MatrixDiagPart <T>
créer ( Portée de portée , Opérande <T> entrée, Opérande < TInt32 > k, Opérande <T> paddingValue)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération MatrixDiagPart.
Sortie <T>
diagonale ()
La ou les diagonales extraites.

Méthodes héritées

Constantes

chaîne finale statique publique OP_NAME

Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Valeur constante : "MatrixDiagPartV2"

Méthodes publiques

sortie publique <T> asOutput ()

Renvoie le handle symbolique du tenseur.

Les entrées des opérations TensorFlow sont les sorties d'une autre opération TensorFlow. Cette méthode est utilisée pour obtenir un handle symbolique qui représente le calcul de l’entrée.

public static MatrixDiagPart <T> créer (portée de portée , entrée opérande <T>, opérande < TInt32 > k, opérande <T> paddingValue)

Méthode d'usine pour créer une classe encapsulant une nouvelle opération MatrixDiagPart.

Paramètres
portée portée actuelle
saisir Classez le tenseur `r` où `r >= 2`.
k Décalage(s) diagonal(s). Une valeur positive signifie une superdiagonale, 0 fait référence à la diagonale principale et une valeur négative signifie des sous-diagonales. « k » peut être un seul entier (pour une seule diagonale) ou une paire d'entiers spécifiant les extrémités inférieure et supérieure d'une bande matricielle. `k[0]` ne doit pas être supérieur à `k[1]`.
valeur de remplissage La valeur avec laquelle remplir la zone en dehors de la bande diagonale spécifiée. La valeur par défaut est 0.
Retour
  • une nouvelle instance de MatrixDiagPart

sortie publique <T> diagonale ()

La ou les diagonales extraites.