স্পার্স-ম্যাট্রিক্স-গুণ করে দুটি 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 এর জন্য ঐচ্ছিক বৈশিষ্ট্য |
পাবলিক পদ্ধতি
স্ট্যাটিক SparseMatrixSparseMatMul.Options | adjointA (বুলিয়ান adjointA) |
স্ট্যাটিক SparseMatrixSparseMatMul.Options | adjointB (বুলিয়ান adjointB) |
আউটপুট <অবজেক্ট> | আউটপুট হিসাবে () একটি টেনসরের প্রতীকী হ্যান্ডেল প্রদান করে। |
আউটপুট <?> | গ () একটি CSRSparseMatrix. |
স্ট্যাটিক <T> স্পার্স ম্যাট্রিক্সস্পার্স ম্যাটমুল | |
স্ট্যাটিক SparseMatrixSparseMatMul.Options | ট্রান্সপোজএ (বুলিয়ান ট্রান্সপোজএ) |
স্ট্যাটিক SparseMatrixSparseMatMul.Options | ট্রান্সপোজবি (বুলিয়ান ট্রান্সপোজবি) |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি
পাবলিক পদ্ধতি
পাবলিক স্ট্যাটিক SparseMatrixSparseMatMul.Options adjointA (বুলিয়ান adjointA)
পরামিতি
adjointA | ইঙ্গিত করে যে `a` সংযোজিত-ট্রান্সপোজ করা উচিত কিনা। |
---|
পাবলিক স্ট্যাটিক SparseMatrixSparseMatMul.Options adjointB (বুলিয়ান adjointB)
পরামিতি
সংলগ্ন বি | ইঙ্গিত করে যে `b` কনজুগেট-ট্রান্সপোজ করা উচিত কিনা। |
---|
সর্বজনীন আউটপুট <অবজেক্ট> হিসাবে আউটপুট ()
একটি টেনসরের প্রতীকী হ্যান্ডেল প্রদান করে।
TensorFlow অপারেশনের ইনপুট হল অন্য TensorFlow অপারেশনের আউটপুট। এই পদ্ধতিটি একটি সিম্বলিক হ্যান্ডেল পেতে ব্যবহৃত হয় যা ইনপুটের গণনার প্রতিনিধিত্ব করে।
পাবলিক স্ট্যাটিক SparseMatrixSparseMatMul তৈরি করে ( Scope scope, Operand <?> a, Operand <?> b, Class<T> প্রকার, বিকল্প... বিকল্প)
একটি নতুন SparseMatrixSparseMatMul অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।
পরামিতি
সুযোগ | বর্তমান সুযোগ |
---|---|
ক | একটি CSRSparseMatrix. |
খ | একটি CSRSparseMatrix. |
বিকল্প | ঐচ্ছিক বৈশিষ্ট্য মান বহন করে |
রিটার্নস
- SparseMatrixSparseMatMul এর একটি নতুন উদাহরণ
পাবলিক স্ট্যাটিক SparseMatrixSparseMatMul.Options transposeA (বুলিয়ান ট্রান্সপোজএ)
পরামিতি
transposeA | `a` ট্রান্সপোজ করা উচিত কিনা তা নির্দেশ করে। |
---|
পাবলিক স্ট্যাটিক SparseMatrixSparseMatMul.Options transposeB (বুলিয়ান ট্রান্সপোজবি)
পরামিতি
স্থানান্তর বি | `b` ট্রান্সপোজ করা উচিত কিনা তা নির্দেশ করে। |
---|