SparseMatrixOrderingAMD

คลาสสุดท้ายสาธารณะ SparseMatrixOrderingAMD

คำนวณลำดับขั้นต่ำโดยประมาณ (AMD) ของ "อินพุต"

คำนวณระดับขั้นต่ำโดยประมาณ (AMD) เพื่อเรียงลำดับเมทริกซ์แบบกระจาย

การเรียงสับเปลี่ยนที่ส่งคืนอาจใช้เพื่อสับเปลี่ยนแถวและคอลัมน์ของเมทริกซ์กระจัดกระจายที่กำหนด โดยทั่วไปสิ่งนี้จะส่งผลให้ Cholesky กระจัดกระจายของเมทริกซ์กระจัดกระจายที่ได้รับการดัดแปลง (หรือการสลายตัวอื่น ๆ ) มีการเติมศูนย์น้อยลงเมื่อเปรียบเทียบกับการสลายตัวของเมทริกซ์ดั้งเดิม

เมทริกซ์กระจัดกระจายอินพุตอาจมีอันดับ 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`

ค่าคงที่

สตริง OP_NAME ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

วิธีการสาธารณะ

เอาท์พุต < TInt32 >
เป็นเอาท์พุต ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
SparseMatrixOrderingAMD แบบ คงที่
สร้าง (ขอบเขต ขอบเขต , ตัวถูกดำเนินการ <?> อินพุต)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ SparseMatrixOrderingAMD ใหม่
เอาท์พุต < TInt32 >
เอาท์พุท ()
การเรียงลำดับระดับขั้นต่ำโดยประมาณ (AMD) ของ `อินพุต`

วิธีการสืบทอด

ค่าคงที่

สตริงสุดท้ายแบบคงที่สาธารณะ OP_NAME

ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

ค่าคงที่: "SparseMatrixOrderingAMD"

วิธีการสาธารณะ

เอาท์พุต สาธารณะ < TInt32 > asOutput ()

ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์

อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต

สร้าง SparseMatrixOrderingAMD แบบคงที่สาธารณะ (ขอบเขต ขอบเขต , ตัวดำเนินการ <?> อินพุต)

วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ SparseMatrixOrderingAMD ใหม่

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
ป้อนข้อมูล `CSRSparseMatrix`
การส่งคืน
  • ตัวอย่างใหม่ของ SparseMatrixOrderingAMD

เอาท์พุท สาธารณะ < TInt32 > เอาท์พุท ()

การเรียงลำดับระดับขั้นต่ำโดยประมาณ (AMD) ของ `อินพุต`