当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。