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