Calcula a ordem do grau mínimo aproximado (AMD) de `entrada`.
Calcula a ordenação de grau mínimo aproximado (AMD) para uma matriz esparsa.
A permutação retornada pode ser usada para permutar as linhas e colunas da matriz esparsa fornecida. Isso normalmente resulta em Cholesky esparso da matriz esparsa permutada (ou outras decomposições) em ter menos preenchimento de zero em comparação com a decomposição da matriz original.
A matriz esparsa de entrada pode ter classificação 2 ou classificação 3. O tensor de saída, representando, teria classificação 1 ou 2 respectivamente, com a mesma forma de lote da entrada.
Cada componente da matriz esparsa de entrada deve representar uma matriz quadrada simétrica; apenas a parte triangular inferior da matriz é lida. Os valores da matriz esparsa não afetam a permutação retornada, apenas o padrão de esparsidade da matriz esparsa é usado. Portanto, um único pedido de AMD pode ser reutilizado para as decomposições de Cholesky de matrizes esparsas com o mesmo padrão de esparsidade, mas com valores possivelmente diferentes.
Cada componente de lote da permutação de saída representa uma permutação de elementos `N`, onde os componentes da matriz esparsa de entrada têm cada um` N` linhas. Ou seja, o componente contém cada um dos inteiros `{0, .. N-1}` exatamente uma vez. O elemento `i`th representa o índice da linha para o qual a` i`th linha mapeia.
Exemplo de Uso:
from tensorflow.python.ops.linalg.sparse import sparse_csr_matrix_ops
a_indices = np.array([[0, 0], [1, 1], [2, 1], [2, 2], [3, 3]])
a_values = np.array([1.0, 2.0, 1.0, 3.0, 4.0], np.float32)
a_dense_shape = [4, 4]
with tf.Session() as sess:
# Define (COO format) SparseTensor over Numpy array.
a_st = tf.sparse.SparseTensor(a_indices, a_values, a_dense_shape)
# Convert SparseTensors to CSR SparseMatrix.
a_sm = sparse_csr_matrix_ops.sparse_tensor_to_csr_sparse_matrix(
a_st.indices, a_st.values, a_st.dense_shape)
# Obtain the AMD Ordering for the CSR SparseMatrix.
ordering_amd = sparse_csr_matrix_ops.sparse_matrix_ordering_amd(sparse_matrix)
ordering_amd_value = sess.run(ordering_amd)
`lojas ordering_amd_value` a ordenação AMD:` [1 2 3 0] `.entrada: Um `CSRSparseMatrix`.
Métodos Públicos
Output <Integer> | asOutput () Retorna o identificador simbólico de um tensor. |
estática SparseMatrixOrderingAMD | |
Output <Integer> | saída () A ordenação de grau mínimo aproximado (AMD) de `entrada`. |
Métodos herdados
Métodos Públicos
pública Output <Integer> asOutput ()
Retorna o identificador simbólico de um 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 SparseMatrixOrderingAMD criar ( Scope escopo, Operando <?> entrada)
Método de fábrica para criar uma classe envolvendo uma nova operação SparseMatrixOrderingAMD.
Parâmetros
alcance | escopo atual |
---|---|
entrada | Um `CSRSparseMatrix`. |
Devoluções
- uma nova instância de SparseMatrixOrderingAMD