SparseMatrixOrderingAMD

classe finale pubblica SparseMatrixOrderingAMD

Calcola l'ordine del grado minimo approssimativo (AMD) di "input".

Calcola l'ordinamento del grado minimo approssimato (AMD) per una matrice sparsa.

La permutazione restituita può essere utilizzata per permutare le righe e le colonne della matrice sparsa data. Ciò in genere si traduce nel Cholesky sparso della matrice sparsa permutata (o altre scomposizioni) con un minor riempimento di zero rispetto alla scomposizione della matrice originale.

La matrice sparsa di input può avere rango 2 o rango 3. Il tensore di output, che rappresenta, avrebbe quindi rispettivamente rango 1 o 2, con la stessa forma batch dell'input.

Ciascun componente della matrice sparsa di input deve rappresentare una matrice quadrata simmetrica; viene letta solo la parte triangolare inferiore della matrice. I valori della matrice sparsa non influiscono sulla permutazione restituita, viene utilizzato solo il modello di scarsità della matrice sparsa. Quindi, un singolo ordinamento AMD può essere riutilizzato per le scomposizioni di Cholesky di matrici sparse con lo stesso modello di scarsità ma con valori possibilmente diversi.

Ciascun componente batch della permutazione di output rappresenta una permutazione di "N" elementi, dove i componenti della matrice sparsa di input hanno ciascuno "N" righe. Cioè, il componente contiene ciascuno degli interi `{0, .. N-1}` esattamente una volta. L'elemento `i`esimo rappresenta l'indice di riga a cui è mappata la riga `i`esimo.

Esempio di utilizzo:

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)
 
`ordering_amd_value` memorizza l'ordinamento AMD: `[1 2 3 0]`.

input: un `CSRSparseMatrix`.

Metodi pubblici

Output <Intero>
comeuscita ()
Restituisce la maniglia simbolica di un tensore.
static SparseMatrixOrderingAMD
create ( ambito ambito , operando <?> input)
Metodo factory per creare una classe che racchiude una nuova operazione SparseMatrixOrderingAMD.
Output <Intero>
produzione ()
L'ordine del grado minimo approssimativo (AMD) di "input".

Metodi ereditati

Metodi pubblici

output pubblico <intero> asOutput ()

Restituisce la maniglia simbolica di un tensore.

Gli input per le operazioni TensorFlow sono output di un'altra operazione TensorFlow. Questo metodo viene utilizzato per ottenere un handle simbolico che rappresenta il calcolo dell'input.

creazione statica pubblica SparseMatrixOrderingAMD (ambito ambito , operando <?> input)

Metodo factory per creare una classe che racchiude una nuova operazione SparseMatrixOrderingAMD.

Parametri
scopo ambito attuale
ingresso Una "CSRSparseMatrix".
ritorna
  • una nuova istanza di SparseMatrixOrderingAMD

output pubblico <intero> output ()

L'ordine del grado minimo approssimativo (AMD) di "input".