MatrixDiag

MatrixDiag classe final pública

Retorna um tensor diagonal em lote com os valores diagonais em lote fornecidos.

Retorna um tensor com o conteúdo em `diagonal` como` k [0] `-ésima a` k [1] `-ésima diagonais de uma matriz, com todo o resto preenchido com` preenchimento`. `num_rows` e` num_cols` especificam a dimensão da matriz mais interna da saída. Se ambos não forem especificados, o op assume que a matriz mais interna é quadrada e infere seu tamanho de `k` e a dimensão mais interna de` diagonal`. Se apenas um deles for especificado, o op assume que o valor não especificado é o menor possível com base em outros critérios.

Deixe `diagonal` ter dimensões` r` `[I, J, ..., L, M, N]`. O tensor de saída tem classificação `r + 1` com a forma` [I, J, ..., L, M, núm_rows, núm_coletas] `quando apenas uma diagonal é fornecida (` k` é um inteiro ou `k [0] == k [1] `). Caso contrário, ele tem classificação `r` com forma` [I, J, ..., L, núm_rows, núm_coletas] `.

A segunda dimensão mais interna de `diagonal` tem duplo significado. Quando `k` é escalar ou` K [0] == k [1] `,` M` faz parte do tamanho do lote [i, j, ..., M], e o tensor de saída é:

output[i, j, ..., l, m, n]
   
= diagonal[i, j, ..., l, n-max(d_upper, 0)] ; if n - m == d_upper
     padding_value                            
; otherwise
 
Caso contrário, `M` é tratado como o número de diagonais para a matriz no mesmo lote (` M = k [1] -k [0] + 1`), e o tensor de saída é:
output[i, j, ..., l, m, n]
   
= diagonal[i, j, ..., l, diag_index, index_in_diag] ; if k[0] <= d <= k[1]
     padding_value                                    
; otherwise
 
onde `d = n - m`, `diag_index = k [1] - d`, e` index_in_diag = n - max (d, 0) `.

Por exemplo:

# The main diagonal.
 diagonal
= np.array([[1, 2, 3, 4],            # Input shape: (2, 4)
                     
[5, 6, 7, 8]])
 tf
.matrix_diag(diagonal) ==> [[[1, 0, 0, 0],  # Output shape: (2, 4, 4)
                               
[0, 2, 0, 0],
                               
[0, 0, 3, 0],
                               
[0, 0, 0, 4]],
                               
[[5, 0, 0, 0],
                               
[0, 6, 0, 0],
                               
[0, 0, 7, 0],
                               
[0, 0, 0, 8]]]
 
 
# A superdiagonal (per batch).
 diagonal
= np.array([[1, 2, 3],  # Input shape: (2, 3)
                     
[4, 5, 6]])
 tf
.matrix_diag(diagonal, k = 1)
   
==> [[[0, 1, 0, 0],  # Output shape: (2, 4, 4)
         
[0, 0, 2, 0],
         
[0, 0, 0, 3],
         
[0, 0, 0, 0]],
       
[[0, 4, 0, 0],
         
[0, 0, 5, 0],
         
[0, 0, 0, 6],
         
[0, 0, 0, 0]]]
 
 
# A band of diagonals.
 diagonals
= np.array([[[1, 2, 3],  # Input shape: (2, 2, 3)
                       
[4, 5, 0]],
                       
[[6, 7, 9],
                       
[9, 1, 0]]])
 tf
.matrix_diag(diagonals, k = (-1, 0))
   
==> [[[1, 0, 0],  # Output shape: (2, 3, 3)
         
[4, 2, 0],
         
[0, 5, 3]],
       
[[6, 0, 0],
         
[9, 7, 0],
         
[0, 1, 9]]]
 
 
# Rectangular matrix.
 diagonal
= np.array([1, 2])  # Input shape: (2)
 tf
.matrix_diag(diagonal, k = -1, num_rows = 3, num_cols = 4)
   
==> [[0, 0, 0, 0],  # Output shape: (3, 4)
       
[1, 0, 0, 0],
       
[0, 2, 0, 0]]
 
 
# Rectangular matrix with inferred num_cols and padding_value = 9.
 tf
.matrix_diag(diagonal, k = -1, num_rows = 3, padding_value = 9)
   
==> [[9, 9],  # Output shape: (3, 2)
       
[1, 9],
       
[9, 2]]
 

Constantes

Fragmento OP_NAME O nome desta operação, conforme conhecido pelo motor principal TensorFlow

Métodos Públicos

Output <T>
asOutput ()
Retorna o identificador simbólico do tensor.
estática <T estende TType > MatrixDiag <T>
criar ( Âmbito âmbito, Operando <T> diagonal, Operando < TInt32 > k, Operando < TInt32 > numRows, Operando < TInt32 > NúmColunas, Operando <T> paddingValue)
Método de fábrica para criar uma classe envolvendo uma nova operação MatrixDiag.
Output <T>
saída ()
Tem classificação `r + 1` quando` k` é um inteiro ou `k [0] == k [1]`, classificação `r` caso contrário.

Métodos herdados

org.tensorflow.op.RawOp
final booleano
é igual a (obj Object)
final int
Operação
op ()
Retornar esta unidade de computação como uma única Operation .
corda final
boleano
equals (arg0 Object)
aula final <?>
getClass ()
int
hashCode ()
vazio final
notificar ()
vazio final
notifyAll ()
Fragmento
toString ()
vazio final
wait (longa arg0, int arg1)
vazio final
wait (arg0 de comprimento)
vazio final
wait ()
org.tensorflow.op.Op
abstrato ExecutionEnvironment
env ()
Retorne o ambiente de execução em que este op foi criado.
abstrato Operação
op ()
Retornar esta unidade de computação como uma única Operation .
org.tensorflow.Operand
abstrato Output <T>
asOutput ()
Retorna o identificador simbólico do tensor.
T abstrato
asTensor ()
Retorna o tensor neste operando.
abstrato Forma
forma ()
Retorna o (possivelmente parcialmente conhecida) forma do tensor referido pela Output deste operando.
Classe abstrata <T>
digitar ()
Retorna o tipo de tensor deste operando
org.tensorflow.ndarray.Shaped
abstrato int
Rank ()
abstrato Forma
forma ()
abstrato longo
tamanho ()
Calcula e retorna o tamanho total deste contêiner, em número de valores.

Constantes

nome_op final String public static

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

Valor constante: "MatrixDiagV2"

Métodos Públicos

pública Output <T> asOutput ()

Retorna o identificador simbólico do tensor.

As entradas para as 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 MatrixDiag <T> create ( Scope escopo, Operando <T> diagonal, Operando < TInt32 > k, operando < TInt32 > numRows, Operando < TInt32 > NúmColunas, Operando <T> paddingValue)

Método de fábrica para criar uma classe envolvendo uma nova operação MatrixDiag.

Parâmetros
alcance escopo atual
diagonal Rank `r`, onde` r> = 1`
k Desvio (s) diagonal (es). O valor positivo significa superdiagonal, 0 se refere à diagonal principal e o valor negativo significa subdiagonais. `k` pode ser um único inteiro (para uma única diagonal) ou um par de inteiros especificando as extremidades inferior e superior de uma banda de matriz. `k [0]` não deve ser maior que `k [1]`.
numRows O número de linhas da matriz de saída. Se não for fornecido, o op assume que a matriz de saída é uma matriz quadrada e infere o tamanho da matriz de ke a dimensão mais interna de `diagonal`.
numCols O número de colunas da matriz de saída. Se não for fornecido, o op assume que a matriz de saída é uma matriz quadrada e infere o tamanho da matriz de ke a dimensão mais interna de `diagonal`.
paddingValue O número para preencher a área fora da faixa diagonal especificada. O padrão é 0.
Devoluções
  • uma nova instância de MatrixDiag

pública Output <T> de saída ()

Tem classificação `r + 1` quando` k` é um inteiro ou `k [0] == k [1]`, classificação `r` caso contrário.