SparseMatrixSparseMatMul

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

เมทริกซ์แบบกระจายจะคูณเมทริกซ์ 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` หรือไม่

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

ทั้ง 'a' และ 'b' ต้องมีอันดับเดียวกัน ไม่รองรับการออกอากาศ หากมีอันดับที่ 3 แต่ละชุดของ 2D CSRSparseMatrices ภายใน `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

ค่าคงที่

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

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

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

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

org.tensorflow.op.RawOp
บูลีนสุดท้าย
เท่ากับ (วัตถุ obj)
int สุดท้าย
การดำเนินการ
สหกรณ์ ()
ส่งกลับหน่วยการคำนวณนี้เป็นการ Operation เดียว
สตริงสุดท้าย
บูลีน
เท่ากับ (วัตถุ arg0)
คลาสสุดท้าย<?>
รับคลาส ()
ภายใน
แฮชโค้ด ()
โมฆะสุดท้าย
แจ้ง ()
โมฆะสุดท้าย
แจ้งทั้งหมด ()
สตริง
toString ()
โมฆะสุดท้าย
รอสักครู่ (ยาว arg0, int arg1)
โมฆะสุดท้าย
รอ (ยาว arg0)
โมฆะสุดท้าย
รอ ()
org.tensorflow.op.Op
บทคัดย่อ ExecutionEnvironment
สิ่งแวดล้อม ()
ส่งคืนสภาพแวดล้อมการดำเนินการที่ op นี้ถูกสร้างขึ้น
การดำเนินการ ที่เป็นนามธรรม
สหกรณ์ ()
ส่งกลับหน่วยการคำนวณนี้เป็นการ Operation เดียว
org.tensorflow.Operand
เอาต์พุต นามธรรม < TType >
เป็นเอาท์พุต ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
TType แบบนามธรรม
แอสเทนเซอร์ ()
ส่งกลับเทนเซอร์ที่ตัวถูกดำเนินการนี้
รูปร่าง นามธรรม
รูปร่าง ()
ส่งกลับรูปร่าง (อาจทราบได้บางส่วน) ของเทนเซอร์ที่อ้างอิงโดย Output ของตัวถูกดำเนินการนี้
คลาสนามธรรม< TType >
พิมพ์ ()
ส่งกลับประเภทเทนเซอร์ของตัวถูกดำเนินการนี้
org.tensorflow.ndarray.Shaped
บทคัดย่อ
รูปร่าง นามธรรม
ยาวเป็นนามธรรม
ขนาด ()
คำนวณและส่งกลับขนาดรวมของคอนเทนเนอร์นี้เป็นจำนวนค่า

ค่าคงที่

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

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

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

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

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

พารามิเตอร์
ที่อยู่ติดกันก บ่งชี้ว่า `a` ควรถูกแปลงผันหรือไม่

สาธารณะ SparseMatrixSparseMatMul.Options adjointB สาธารณะ (Boolean adjointB)

พารามิเตอร์
ที่อยู่ติดกันB บ่งชี้ว่า `b` ควรถูกแปลงผันหรือไม่

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

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

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

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

CSRSparseMatrix

สร้าง SparseMatrixSparseMatMul แบบคงที่สาธารณะ (ขอบเขต ขอบเขต , ตัวดำเนินการ <?> a, ตัวดำเนินการ <?> b, ประเภทคลาส <T>, ตัวเลือก... ตัวเลือก)

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

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

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

พารามิเตอร์
ย้ายA ระบุว่าควรย้าย `a` หรือไม่

สาธารณะ SparseMatrixSparseMatMul.Options transposeB สาธารณะ (Boolean transposeB)

พารามิเตอร์
ย้ายB ระบุว่าควรย้าย `b` หรือไม่