MatrixDiagPart

classe final pública MatrixDiagPart

Retorna a parte diagonal em lote de um tensor em lote.

Retorna um tensor com `k[0]`-ésima a `k[1]`-ésima diagonais da `entrada` em lote.

Suponha que `entrada` tenha `r` dimensões `[I, J, ..., L, M, N]`. Seja `max_diag_len` o comprimento máximo entre todas as diagonais a serem extraídas, `max_diag_len = min(M + min(k[1], 0), N + min(-k[0], 0))` Seja `num_diags` seja o número de diagonais a extrair, `num_diags = k[1] - k[0] + 1`.

Se `num_diags == 1`, o tensor de saída é de classificação `r - 1` com forma `[I, J, ..., L, max_diag_len]` e 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.
 
onde `y = max(-k[1], 0)`, `x = max(k[1], 0)`.

Caso contrário, o tensor de saída tem classificação `r` com dimensões `[I, J, ..., L, num_diags, max_diag_len]` com 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.
 
onde `d = k[1] - m`, `y = max(-d, 0)` e `x = max(d, 0)`.

A entrada deve ser pelo menos uma matriz.

Por exemplo:

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

Corda OP_NAME O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow

Métodos Públicos

Saída <T>
asOutput ()
Retorna o identificador simbólico do tensor.
estático <T estende TType > MatrixDiagPart <T>
create ( escopo do escopo , entrada do operando <T>, operando < TInt32 > k, operando <T> paddingValue)
Método de fábrica para criar uma classe que envolve uma nova operação MatrixDiagPart.
Saída <T>
diagonal ()
As diagonais extraídas.

Métodos herdados

org.tensorflow.op.RawOp
booleano final
é igual (objeto obj)
int final
Operação
op ()
Retorne esta unidade de cálculo como uma única Operation .
sequência final
booleano
é igual (objeto arg0)
aula final<?>
getClass ()
interno
código hash ()
vazio final
notificar ()
vazio final
notificar todos ()
Corda
toString ()
vazio final
espere (long arg0, int arg1)
vazio final
espere (arg0 longo)
vazio final
espere ()
org.tensorflow.op.Op
ambiente de execução abstrato
env ()
Retorne o ambiente de execução em que esta operação foi criada.
operação abstrata
op ()
Retorne esta unidade de cálculo como uma única Operation .
org.tensorflow.Operand
saída abstrata <T>
asOutput ()
Retorna o identificador simbólico do tensor.
abstrato T
comoTensor ()
Retorna o tensor neste operando.
forma abstrata
forma ()
Retorna a forma (possivelmente parcialmente conhecida) do tensor referido pela Output deste operando.
Classe abstrata<T>
tipo ()
Retorna o tipo de tensor deste operando
org.tensorflow.ndarray.Shaped
abstrato int
forma abstrata
forma ()
abstrato longo
tamanho ()
Calcula e retorna o tamanho total deste contêiner, em número de valores.

Constantes

String final estática pública OP_NAME

O nome desta operação, conforme conhecido pelo mecanismo principal do TensorFlow

Valor constante: "MatrixDiagPartV2"

Métodos Públicos

Saída pública <T> asOutput ()

Retorna o identificador simbólico do tensor.

As entradas para operações do TensorFlow são saídas de outra operação do TensorFlow. Este método é usado para obter um identificador simbólico que representa o cálculo da entrada.

public static MatrixDiagPart <T> create ( escopo do escopo , entrada do operando <T>, operando < TInt32 > k, operando <T> paddingValue)

Método de fábrica para criar uma classe que agrupa uma nova operação MatrixDiagPart.

Parâmetros
escopo escopo atual
entrada Tensor de classificação `r` onde `r >= 2`.
k Deslocamentos diagonais. O valor positivo significa superdiagonal, 0 refere-se à diagonal principal e o valor negativo significa subdiagonais. `k` pode ser um único número inteiro (para uma única diagonal) ou um par de números inteiros especificando os extremos inferior e superior de uma banda de matriz. `k[0]` não deve ser maior que `k[1]`.
preenchimentoValor O valor com o qual preencher a área fora da banda diagonal especificada. O padrão é 0.
Devoluções
  • uma nova instância de MatrixDiagPart

Saída pública <T> diagonal ()

As diagonais extraídas.