تحذير: تم إهمال واجهة برمجة التطبيقات هذه وستتم إزالتها في إصدار مستقبلي من TensorFlow بعد استقرار الاستبدال .

SparseMatrixSparseMatMul

الجمهور SparseMatrixSparseMatMul الدرجة النهائية

المصفوفة المتفرقة - تضاعف مصفوفتين CSR `أ` و` ب`.

يقوم بضرب مصفوفة متفرقة `a` بمصفوفة متفرقة` b` ؛ إرجاع مصفوفة متفرقة `a * b` ، ما لم يتم تبديل أو تعديل` a` أو `b`.

يمكن تبديل أو تحويل كل مصفوفة (مترافقة ومتبادلة) وفقًا للمعلمات المنطقية "تبديل_أ" و "مرافقة_أ" و "تبديل_ب" و "مرافقة_ب". قد يكون "تبديل_أ" أو "معاير أ" واحدًا على الأكثر صحيحًا. وبالمثل ، قد يكون "تبديل_ ب" أو "معاير ب" واحدًا على الأكثر صحيحًا.

يجب أن تحتوي المدخلات على أشكال متوافقة. بمعنى ، يجب أن يكون البعد الداخلي لـ "أ" مساويًا للبعد الخارجي لـ "ب". يتم تعديل هذا المتطلب وفقًا لما إذا كان "أ" أو "ب" قد تم نقلهما أو تعديلهما.

تشير المعلمة `type` إلى نوع عناصر المصفوفة. يجب أن يكون لكل من `a` و` b` نفس النوع. الأنواع المدعومة هي: "float32" و "float64" و "complex64" و "complex128".

يجب أن يكون لكل من "أ" و "ب" نفس الرتبة. البث غير مدعوم. إذا كان لديهم المرتبة 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.]]
 
على: A 'CSRSparseMatrix`. ب: "CSRSparseMatrix" بنفس نوع ورتبة "أ". النوع: نوع "أ" و "ب". Transpose_a: إذا كان صحيحًا ، تم نقل `a` قبل الضرب. Transpose_b: إذا كان صحيحًا ، تم نقل `b` قبل الضرب. المجاور_أ: إذا كان صحيحًا ، تمت إعادة تعيين `أ` قبل الضرب. advoint_b: إذا كان صحيحًا ، تمت إضافة `b` قبل الضرب.

فئات متداخلة

صف دراسي SparseMatrixSparseMatMul.Options سمات اختيارية ل SparseMatrixSparseMatMul

الطرق العامة

ثابت SparseMatrixSparseMatMul.Options
adjointA (منطقية adjointA)
ثابت SparseMatrixSparseMatMul.Options
adjointB (منطقية adjointB)
الانتاج <كائن>
asOutput ()
إرجاع المقبض الرمزي للموتر.
الانتاج <؟>
ج ()
مصفوفة تحليل المسؤولية الاجتماعية للشركات.
ثابت <T> SparseMatrixSparseMatMul
إنشاء ( نطاق نطاق، المعامل <> لذلك، المعامل <> ب، فئة <T> نوع، خيارات ... خيارات)
طريقة المصنع لإنشاء فئة التفاف لعملية SparseMatrixSparseMatMul جديدة.
ثابت SparseMatrixSparseMatMul.Options
transposeA (منطقية transposeA)
ثابت SparseMatrixSparseMatMul.Options
transposeB (منطقية transposeB)

الطرق الموروثة

الطرق العامة

ساكنة العام SparseMatrixSparseMatMul.Options adjointA (منطقية adjointA)

العوامل
مساعد يشير إلى ما إذا كان يجب تحويل `a` إلى مترافق أم لا.

ساكنة العام SparseMatrixSparseMatMul.Options adjointB (منطقية adjointB)

العوامل
مساعد ب يشير إلى ما إذا كان يجب تحويل `b` إلى مترافق أم لا.

العام الناتج <كائن> asOutput ()

إرجاع المقبض الرمزي للموتر.

المدخلات لعمليات TensorFlow هي مخرجات عملية TensorFlow أخرى. تستخدم هذه الطريقة للحصول على مقبض رمزي يمثل حساب المدخلات.

العام الناتج <؟> ج ()

مصفوفة تحليل المسؤولية الاجتماعية للشركات.

ساكنة العام SparseMatrixSparseMatMul إنشاء ( نطاق نطاق، المعامل <> لذلك، المعامل <> ب، فئة <T> نوع، خيارات ... خيارات)

طريقة المصنع لإنشاء فئة التفاف لعملية SparseMatrixSparseMatMul جديدة.

العوامل
مجال النطاق الحالي
أ مصفوفة تحليل المسؤولية الاجتماعية للشركات.
ب مصفوفة تحليل المسؤولية الاجتماعية للشركات.
والخيارات يحمل قيم سمات اختيارية
عائدات
  • مثيل جديد من SparseMatrixSparseMatMul

ساكنة العام SparseMatrixSparseMatMul.Options transposeA (منطقية transposeA)

العوامل
تبديل يشير إلى ما إذا كان يجب تبديل موضع `a`.

ساكنة العام SparseMatrixSparseMatMul.Options transposeB (منطقية transposeB)

العوامل
تبديل ب يشير إلى ما إذا كان يجب تغيير موضع "b".