SparseMatrixSparseMatMul

الطبقة النهائية العامة SparseMatrixSparseMatMul

تقوم المصفوفة المتفرقة بضرب مصفوفتين للمسؤولية الاجتماعية للشركات `a` و`b`.

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

يمكن نقل كل مصفوفة أو تجاورها (مترافقة ومنقولة) وفقًا للمعلمات المنطقية `transpose_a`، و`adjoint_a`، و`transpose_b`، و`adjoint_b`. على الأكثر قد يكون أحد `transpose_a` أو `adjoint_a` صحيحًا. وبالمثل، قد يكون أحد `transpose_b` أو `adjoint_b` على الأكثر صحيحًا.

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

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

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

فئات متداخلة

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

الثوابت

خيط OP_NAME اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي

الأساليب العامة

static SparseMatrixSparseMatMul.Options
المجاورة أ (المجاورة المنطقية أ)
static SparseMatrixSparseMatMul.Options
المجاور B (المجاور المنطقي B)
الإخراج < نوع >
كإخراج ()
إرجاع المقبض الرمزي للموتر.
الإخراج <؟>
ج ()
CSRSparseMatrix.
ثابت <T يمتد TType > SparseMatrixSparseMatMul
إنشاء (نطاق النطاق ، المعامل <?> أ، المعامل <?> ب، نوع الفئة <T>، خيارات... خيارات)
طريقة المصنع لإنشاء فئة تغلف عملية SparseMatrixSparseMatMul جديدة.
static SparseMatrixSparseMatMul.Options
النقل A (النقل المنطقي A)
static SparseMatrixSparseMatMul.Options
النقل B (التحويل المنطقي B)

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

org.tensorflow.op.RawOp
منطقية نهائية
يساوي (كائن كائن)
كثافة العمليات النهائية
عملية
المرجع ()
قم بإرجاع وحدة الحساب هذه Operation واحدة.
السلسلة النهائية
منطقية
يساوي (الكائن arg0)
الدرجة النهائية<?>
الحصول على كلاس ()
كثافة العمليات
رمز التجزئة ()
الفراغ النهائي
إعلام ()
الفراغ النهائي
إعلام الكل ()
خيط
إلى سلسلة ()
الفراغ النهائي
انتظر (طويل arg0، int arg1)
الفراغ النهائي
انتظر (طويل arg0)
الفراغ النهائي
انتظر ()
org.tensorflow.op.Op
بيئة التنفيذ المجردة
بيئى ()
قم بإرجاع بيئة التنفيذ التي تم إنشاء هذه العملية فيها.
عملية مجردة
المرجع ()
قم بإرجاع وحدة الحساب هذه Operation واحدة.
org.tensorflow.Operand
إخراج مجردة <TType>
كإخراج ()
إرجاع المقبض الرمزي للموتر.
نوع TT مجردة
الموتر ()
إرجاع الموتر في هذا المعامل.
الشكل المجرد
شكل ()
تُرجع الشكل (ربما المعروف جزئيًا) للموتر المشار إليه في Output هذا المعامل.
فئة مجردة< Type >
يكتب ()
إرجاع نوع الموتر لهذا المعامل
org.tensorflow.ndarray.Shaped
كثافة العمليات مجردة
الشكل المجرد
شكل ()
مجردة طويلة
مقاس ()
يحسب ويعيد الحجم الإجمالي لهذه الحاوية بعدد القيم.

الثوابت

السلسلة النهائية الثابتة العامة OP_NAME

اسم هذه العملية كما هو معروف بواسطة محرك TensorFlow الأساسي

القيمة الثابتة: "SparseMatrixSparseMatMul"

الأساليب العامة

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

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

ثابت عام SparseMatrixSparseMatMul.Options adjointB (منطقي adjointB)

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

الإخراج العام <TType> asOutput ()

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

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

الإخراج العام <?> ج ()

CSRSparseMatrix.

إنشاء SparseMatrixSparseMatMul ثابت عام (نطاق النطاق ، المعامل <?> a، المعامل <?> b، النوع <T>، الخيارات... الخيارات)

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

حدود
نِطَاق النطاق الحالي
أ CSRSparseMatrix.
ب CSRSparseMatrix.
خيارات يحمل قيم السمات الاختيارية
المرتجعات
  • مثيل جديد من SparseMatrixSparseMatMul

ثابت عام SparseMatrixSparseMatMul.Options transposeA (تحويل منطقي A)

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

ثابت عام SparseMatrixSparseMatMul.Options transposeB (تحويل منطقيB)

حدود
تبديل ب يشير إلى ما إذا كان ينبغي نقل `b`.