SparseMatrixSparseMatMul

পাবলিক ফাইনাল ক্লাস SparseMatrixSparseMatMul

স্পার্স-ম্যাট্রিক্স-গুণ করে দুটি CSR ম্যাট্রিক্স `a` এবং `b`।

একটি স্পার্স ম্যাট্রিক্স `a` এর একটি স্পার্স ম্যাট্রিক্স `b` এর সাথে একটি ম্যাট্রিক্স গুণন সম্পাদন করে; একটি স্পার্স ম্যাট্রিক্স `a * b` প্রদান করে, যদি না `a` বা `b` স্থানান্তরিত বা সংযুক্ত না হয়।

বুলিয়ান প্যারামিটার `ট্রান্সপোজ_এ`, `অ্যাডজয়েন্ট_এ`, `ট্রান্সপোজ_বি` এবং `অ্যাডজয়েন্ট_বি` অনুসারে প্রতিটি ম্যাট্রিক্স স্থানান্তরিত বা সংযুক্ত (সংযোজিত এবং স্থানান্তরিত) হতে পারে। সর্বাধিক `ট্রান্সপোজ_এ` বা `অ্যাডজয়েন্ট_এ` সত্য হতে পারে। একইভাবে, সর্বাধিক `ট্রান্সপোজ_বি` বা `সংযোজন_বি` এর মধ্যে একটি সত্য হতে পারে।

ইনপুটগুলির অবশ্যই সামঞ্জস্যপূর্ণ আকার থাকতে হবে। অর্থাৎ, `a` এর ভেতরের মাত্রা অবশ্যই `b` এর বাইরের মাত্রার সমান হতে হবে। এই প্রয়োজনীয়তাটি `a` বা `b` স্থানান্তরিত বা সংলগ্ন কিনা সে অনুযায়ী সামঞ্জস্য করা হয়।

`টাইপ` পরামিতি ম্যাট্রিক্স উপাদানের ধরন নির্দেশ করে। `a` এবং `b` উভয়েরই একই প্রকার থাকতে হবে। সমর্থিত প্রকারগুলি হল: `float32`, `float64`, `complex64` এবং `complex128`।

`a` এবং `b` উভয়েরই একই র‍্যাঙ্ক থাকতে হবে। সম্প্রচার সমর্থিত নয়। যদি তাদের র‍্যাঙ্ক 3 থাকে, তাহলে `a` এবং `b`-এর মধ্যে 2D CSRSparseMatrices-এর প্রতিটি ব্যাচের একই ঘন আকৃতি থাকতে হবে।

স্পার্স ম্যাট্রিক্স পণ্যের সাংখ্যিক (অ-কাঠামোগত) শূন্য থাকতে পারে। TODO(অনুধ্যান): শূন্য ছেঁটে ফেলার জন্য একটি বুলিয়ান অ্যাট্রিবিউট যোগ করার কথা বিবেচনা করুন।

ব্যবহারের উদাহরণ:

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: একটি `CSRSparseMatrix` যার ধরন এবং র‍্যাঙ্ক `a` এর মতো। প্রকার: `a` এবং `b` উভয়ের প্রকার। transpose_a: সত্য হলে, গুণের আগে `a` স্থানান্তরিত হয়। transpose_b: সত্য হলে, গুণের আগে `b` স্থানান্তরিত হয়। adjoint_a: সত্য হলে, গুণের আগে `a` সংযোজিত। adjoint_b: সত্য হলে, গুণের আগে `b` সংযুক্ত করা হয়।

নেস্টেড ক্লাস

ক্লাস SparseMatrixSparseMatMul.Options SparseMatrixSparseMatMul এর জন্য ঐচ্ছিক বৈশিষ্ট্য

ধ্রুবক

স্ট্রিং OP_NAME এই অপের নাম, টেনসরফ্লো কোর ইঞ্জিন দ্বারা পরিচিত

পাবলিক পদ্ধতি

স্ট্যাটিক SparseMatrixSparseMatMul.Options
adjointA (বুলিয়ান adjointA)
স্ট্যাটিক SparseMatrixSparseMatMul.Options
adjointB (বুলিয়ান adjointB)
আউটপুট < TType >
আউটপুট হিসাবে ()
টেনসরের প্রতীকী হ্যান্ডেল ফেরত দেয়।
আউটপুট <?>
()
একটি CSRSparseMatrix.
স্ট্যাটিক <T TType প্রসারিত করে > SparseMatrixSparseMatMul
তৈরি করুন ( স্কোপ স্কোপ, অপারেন্ড <?> a, অপারেন্ড <?> b, Class<T> প্রকার, বিকল্প... বিকল্প)
একটি নতুন SparseMatrixSparseMatMul অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।
স্ট্যাটিক SparseMatrixSparseMatMul.Options
ট্রান্সপোজএ (বুলিয়ান ট্রান্সপোজএ)
স্ট্যাটিক SparseMatrixSparseMatMul.Options
ট্রান্সপোজবি (বুলিয়ান ট্রান্সপোজবি)

উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি

ধ্রুবক

সর্বজনীন স্ট্যাটিক চূড়ান্ত স্ট্রিং OP_NAME

এই অপের নাম, টেনসরফ্লো কোর ইঞ্জিন দ্বারা পরিচিত

ধ্রুবক মান: "স্পার্স ম্যাট্রিক্সস্পার্স ম্যাটমুল"

পাবলিক পদ্ধতি

পাবলিক স্ট্যাটিক SparseMatrixSparseMatMul.Options adjointA (বুলিয়ান adjointA)

পরামিতি
adjointA ইঙ্গিত করে যে `a` সংযোজিত-ট্রান্সপোজ করা উচিত কিনা।

পাবলিক স্ট্যাটিক SparseMatrixSparseMatMul.Options adjointB (বুলিয়ান adjointB)

পরামিতি
সংলগ্ন বি ইঙ্গিত করে যে `b` কনজুগেট-ট্রান্সপোজ করা উচিত কিনা।

সর্বজনীন আউটপুট < TType > asOutput ()

টেনসরের প্রতীকী হ্যান্ডেল ফেরত দেয়।

TensorFlow অপারেশনের ইনপুট হল অন্য TensorFlow অপারেশনের আউটপুট। এই পদ্ধতিটি একটি সিম্বলিক হ্যান্ডেল পেতে ব্যবহৃত হয় যা ইনপুটের গণনার প্রতিনিধিত্ব করে।

সর্বজনীন আউটপুট <?> ()

একটি CSRSparseMatrix.

পাবলিক স্ট্যাটিক SparseMatrixSparseMatMul তৈরি করে ( Scope scope, Operand <?> a, Operand <?> b, Class<T> প্রকার, বিকল্প... বিকল্প)

একটি নতুন SparseMatrixSparseMatMul অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।

পরামিতি
সুযোগ বর্তমান সুযোগ
একটি CSRSparseMatrix.
একটি CSRSparseMatrix.
বিকল্প ঐচ্ছিক বৈশিষ্ট্য মান বহন করে
রিটার্নস
  • SparseMatrixSparseMatMul এর একটি নতুন উদাহরণ

পাবলিক স্ট্যাটিক SparseMatrixSparseMatMul.Options transposeA (বুলিয়ান ট্রান্সপোজএ)

পরামিতি
transposeA `a` ট্রান্সপোজ করা উচিত কিনা তা নির্দেশ করে।

পাবলিক স্ট্যাটিক SparseMatrixSparseMatMul.Options transposeB (বুলিয়ান ট্রান্সপোজবি)

পরামিতি
স্থানান্তর বি `b` ট্রান্সপোজ করা উচিত কিনা তা নির্দেশ করে।