MatrixDiagPartV2

classe finale publique MatrixDiagPartV2

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

Méthodes publiques

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

Méthodes héritées

Méthodes publiques

sortie publique <T> asOutput ()

Renvoie le handle symbolique d'un 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 MatrixDiagPartV2 <T> créer (portée de la portée , entrée de l'opérande <T>, opérande <Integer> k, opérande <T> paddingValue)

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

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 MatrixDiagPartV2

sortie publique <T> diagonale ()

La ou les diagonales extraites.