Calcule l'ordre du degré minimum approximatif (AMD) de « l'entrée ».
Calcule l'ordre du degré minimum approximatif (AMD) pour une matrice clairsemée.
La permutation renvoyée peut être utilisée pour permuter les lignes et les colonnes de la matrice clairsemée donnée. Cela se traduit généralement par un Cholesky clairsemé permuté (ou d'autres décompositions) avec moins de remplissage nul par rapport à la décomposition de la matrice d'origine.
La matrice clairsemée d'entrée peut avoir le rang 2 ou le rang 3. Le Tensor de sortie, représentant aurait alors respectivement le rang 1 ou 2, avec la même forme de lot que l'entrée.
Chaque composant de la matrice clairsemée d'entrée doit représenter une matrice carrée symétrique ; seule la partie triangulaire inférieure de la matrice est lue. Les valeurs de la matrice clairsemée n'affectent pas la permutation renvoyée, seul le modèle de parcimonie de la matrice clairsemée est utilisé. Par conséquent, un seul ordre AMD peut être réutilisé pour les décompositions de Cholesky de matrices clairsemées avec le même modèle de parcimonie mais avec des valeurs éventuellement différentes.
Chaque composant de lot de la permutation de sortie représente une permutation de « N » éléments, où les composants de matrice clairsemée d'entrée ont chacun « N » lignes. Autrement dit, le composant contient chacun des entiers `{0, .. N-1}` exactement une fois. Le `i`ème élément représente l’index de ligne auquel la `i`ème ligne correspond.
Exemple d'utilisation :
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` stocke l'ordre AMD : `[1 2 3 0]`.entrée : Un `CSRSparseMatrix`.
Constantes
Chaîne | OP_NAME | Le nom de cette opération, tel que connu par le moteur principal TensorFlow |
Méthodes publiques
Sortie < TInt32 > | comme Sortie () Renvoie le handle symbolique du tenseur. |
SparseMatrixOrderingAMD statique | |
Sortie < TInt32 > | sortir () L'ordre du degré minimum approximatif (AMD) de « entrée ». |
Méthodes héritées
Constantes
chaîne finale statique publique OP_NAME
Le nom de cette opération, tel que connu par le moteur principal TensorFlow
Méthodes publiques
Sortie publique < TInt32 > asOutput ()
Renvoie le handle symbolique du tenseur.
Les entrées des opérations TensorFlow sont les sorties d'une autre opération TensorFlow. Cette méthode est utilisée pour obtenir un handle symbolique qui représente le calcul de l’entrée.
public static SparseMatrixOrderingAMD créer (portée de portée , entrée opérande <?>)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération SparseMatrixOrderingAMD.
Paramètres
portée | portée actuelle |
---|---|
saisir | Un `CSRSparseMatrix`. |
Retours
- une nouvelle instance de SparseMatrixOrderingAMD