當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.raw_ops.SparseMatrixOrderingAMD用法及代碼示例


計算 input 的近似最小度數 (AMD) 排序。

用法

tf.raw_ops.SparseMatrixOrderingAMD(
    input, name=None
)

參數

  • input Tensor 類型為 variant 。一個CSRSparseMatrix
  • name 操作的名稱(可選)。

返回

  • Tensor 類型為 int32

計算稀疏矩陣的近似最小度 (AMD) 排序。

返回的排列可用於排列給定稀疏矩陣的行和列。與原始矩陣的分解相比,這通常會導致置換稀疏矩陣的稀疏 Cholesky(或其他分解)具有更少的零fill-in。

輸入稀疏矩陣可能具有秩 2 或秩 3。輸出張量表示將分別具有秩 1 或 2,具有與輸入相同的批形狀。

輸入稀疏矩陣的每個分量必須代表一個對稱方陣;隻讀取矩陣的下三角部分。稀疏矩陣的值不影響返回的排列,隻使用稀疏矩陣的稀疏模式。因此,可以將單個 AMD 排序重新用於具有相同稀疏模式但可能具有不同值的稀疏矩陣的 Cholesky 分解。

輸出排列的每個批次分量表示 N 元素的排列,其中輸入稀疏矩陣分量每個都有 N 行。也就是說,該組件隻包含每個整數{0, .. N-1} 一次。第 i 元素表示第 i 行映射到的行索引。

使用示例:

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 存儲 AMD 排序:[1 2 3 0]

輸入:A CSRSparseMatrix

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.raw_ops.SparseMatrixOrderingAMD。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。