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 in Cholesky sparso (o altre scomposizioni) della matrice sparsa permutata 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`.

Costanti

Corda OP_NAME Il nome di questa operazione, come noto al motore principale di TensorFlow

Metodi pubblici

Uscita < TInt32 >
comeuscita ()
Restituisce l'handle simbolico del tensore.
static SparseMatrixOrderingAMD
create ( ambito ambito , operando <?> input)
Metodo factory per creare una classe che racchiude una nuova operazione SparseMatrixOrderingAMD.
Uscita < TInt32 >
produzione ()
L'ordine del grado minimo approssimativo (AMD) di "input".

Metodi ereditati

Costanti

Stringa finale statica pubblica OP_NAME

Il nome di questa operazione, come noto al motore principale di TensorFlow

Valore costante: "SparseMatrixOrderingAMD"

Metodi pubblici

output pubblico < TInt32 > asOutput ()

Restituisce l'handle simbolico del 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
ambito ambito attuale
ingresso Una "CSRSparseMatrix".
Ritorni
  • una nuova istanza di SparseMatrixOrderingAMD

uscita pubblica < TInt32 > uscita ()

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