คำเตือน: API นี้เลิกใช้งานแล้วและจะถูกลบออกใน TensorFlow เวอร์ชันในอนาคตหลังจาก การแทนที่ เสถียรแล้ว

SparseMatrixSparseMatMul

ประชาชน SparseMatrixSparseMatMul ชั้นสุดท้าย

Sparse-matrix- คูณเมทริกซ์ CSR สองตัว "a" และ "b"

ทำการคูณเมทริกซ์ของเมทริกซ์แบบกระจาย `a` กับเมทริกซ์แบบกระจาย `b`; ส่งกลับเมทริกซ์กระจัดกระจาย `a * b` เว้นแต่ว่า `a` หรือ `b` จะถูกย้ายหรืออยู่ติดกัน

แต่ละเมทริกซ์อาจถูกย้ายหรือติดกัน (คอนจูเกตและทรานส์โพส) ตามพารามิเตอร์บูลีน `transpose_a`, `adjoint_a`, `transpose_b` และ `adjoint_b` อย่างมากที่สุด `transpose_a` หรือ `adjoint_a` อาจเป็น True ในทำนองเดียวกัน อย่างมากที่สุดของ "transpose_b" หรือ "adjoint_b" อาจเป็น True

อินพุตต้องมีรูปร่างที่เข้ากันได้ นั่นคือ มิติภายในของ "a" ต้องเท่ากับมิติภายนอกของ "b" ข้อกำหนดนี้ได้รับการปรับตามว่า "a" หรือ "b" ถูกย้ายหรืออยู่ติดกัน

พารามิเตอร์ "ประเภท" หมายถึงประเภทขององค์ประกอบเมทริกซ์ ทั้ง "a" และ "b" ต้องมีประเภทเดียวกัน ประเภทที่รองรับ ได้แก่ `float32', 'float64', 'complex64' และ 'complex128'

ทั้ง "a" และ "b" ต้องมีอันดับเท่ากัน ไม่รองรับการแพร่ภาพ หากมีอันดับ 3 CSRSparseMatrices 2D แต่ละชุดภายใน "a" และ "b" ต้องมีรูปร่างหนาแน่นเหมือนกัน

ผลิตภัณฑ์เมทริกซ์กระจัดกระจายอาจมีศูนย์ที่เป็นตัวเลข (ไม่มีโครงสร้าง) TODO(anudhyan): พิจารณาเพิ่มแอตทริบิวต์บูลีนเพื่อควบคุมว่าจะตัดค่าศูนย์หรือไม่

ตัวอย่างการใช้งาน:

from tensorflow.python.ops.linalg.sparse import sparse_csr_matrix_ops
 
     a_indices = np.array([[0, 0], [2, 3], [2, 4], [3, 0]])
     a_values = np.array([1.0, 5.0, -1.0, -2.0], np.float32)
     a_dense_shape = [4, 5]
 
     b_indices = np.array([[0, 0], [3, 0], [3, 1]])
     b_values = np.array([2.0, 7.0, 8.0], np.float32)
     b_dense_shape = [5, 3]
 
     with tf.Session() as sess:
       # Define (COO format) Sparse Tensors over Numpy arrays
       a_st = tf.sparse.SparseTensor(a_indices, a_values, a_dense_shape)
       b_st = tf.sparse.SparseTensor(b_indices, b_values, b_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)
       b_sm = sparse_csr_matrix_ops.sparse_tensor_to_csr_sparse_matrix(
           b_st.indices, b_st.values, b_st.dense_shape)
 
       # Compute the CSR SparseMatrix matrix multiplication
       c_sm = sparse_csr_matrix_ops.sparse_matrix_sparse_mat_mul(
           a=a_sm, b=b_sm, type=tf.float32)
 
       # Convert the CSR SparseMatrix product to a dense Tensor
       c_sm_dense = sparse_csr_matrix_ops.csr_sparse_matrix_to_dense(
           c_sm, tf.float32)
       # Evaluate the dense Tensor value
       c_sm_dense_value = sess.run(c_sm_dense)
 
`ร้านค้า c_sm_dense_value` ผลิตภัณฑ์แมทริกซ์หนาแน่น:
[[  2.   0.   0.]
      [  0.   0.   0.]
      [ 35.  40.   0.]
      [ -4.   0.   0.]]
 
สอง:` CSRSparseMatrix` b: A `CSRSparseMatrix` ที่มีประเภทและอันดับเดียวกันกับ `a` type: ประเภทของทั้ง "a" และ "b" transpose_a: ถ้าเป็นจริง `a' จะสลับไปก่อนการคูณ transpose_b: ถ้าเป็นจริง `b' จะถูกย้ายก่อนการคูณ adjoint_a: ถ้าเป็นจริง `a' จะติดกันก่อนการคูณ adjoint_b: ถ้าเป็นจริง `b' จะถูกนำมาต่อกันก่อนการคูณ

คลาสที่ซ้อนกัน

ระดับ SparseMatrixSparseMatMul.Options คุณลักษณะที่จำเป็นสำหรับการ SparseMatrixSparseMatMul

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

คง SparseMatrixSparseMatMul.Options
adjointA (บูลีน adjointA)
คง SparseMatrixSparseMatMul.Options
adjointB (บูลีน adjointB)
เอาท์พุท <object>
asOutput ()
ส่งกลับค่าแฮนเดิลเชิงสัญลักษณ์ของเทนเซอร์
เอาท์พุท <?>
()
CSRSparseMatrix
คง <T> SparseMatrixSparseMatMul
สร้าง ( ขอบเขต ขอบเขต Operand <?> เป็น ตัวถูกดำเนินการ <?> B ชั้น <T> ชนิด ตัวเลือก ... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ปิดการดำเนินการ SparseMatrixSparseMatMul ใหม่
คง SparseMatrixSparseMatMul.Options
transposeA (บูลีน transposeA)
คง SparseMatrixSparseMatMul.Options
transposeB (บูลีน transposeB)

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

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

สาธารณะคง SparseMatrixSparseMatMul.Options adjointA (บูลีน adjointA)

พารามิเตอร์
adjointA ระบุว่า `a' ควรคอนจูเกต-ทรานสโพสหรือไม่

สาธารณะคง SparseMatrixSparseMatMul.Options adjointB (บูลีน adjointB)

พารามิเตอร์
adjointB ระบุว่า `b' ควรเป็นคอนจูเกต-ทรานสโพสหรือไม่

ประชาชน เอาท์พุท <object> asOutput ()

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

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

ประชาชน เอาท์พุท <?> C ()

CSRSparseMatrix

สาธารณะคง SparseMatrixSparseMatMul สร้าง ( ขอบเขต ขอบเขต Operand <?> เป็น ตัวถูกดำเนินการ <?> B ชั้น <T> ชนิด ตัวเลือก ... ตัวเลือก)

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

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
NS CSRSparseMatrix
NS CSRSparseMatrix
ตัวเลือก ดำเนินการค่าแอตทริบิวต์ทางเลือก
คืนสินค้า
  • อินสแตนซ์ใหม่ของ SparseMatrixSparseMatMul

สาธารณะคง SparseMatrixSparseMatMul.Options transposeA (บูลีน transposeA)

พารามิเตอร์
ทรานสโพสA ระบุว่าควรเปลี่ยน `a` หรือไม่

สาธารณะคง SparseMatrixSparseMatMul.Options transposeB (บูลีน transposeB)

พารามิเตอร์
transposeB ระบุว่าควรเปลี่ยน `b` หรือไม่