সতর্কতা: প্রতিস্থাপন স্থিতিশীল হওয়ার পরে এই API টি অবচয় করা হয়েছে এবং টেনসরফ্লোয়ের ভবিষ্যতের সংস্করণে সরানো হবে।

TensorScatterAdd

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

'সূচক' অনুযায়ী বিদ্যমান টেনসরে স্পার্স `আপডেট` যোগ করে।

এই ক্রিয়াকলাপটি `টেনসর`-এ পাস করা স্পার্স `আপডেট` যোগ করে একটি নতুন টেনসর তৈরি করে। এই ক্রিয়াকলাপটি tf.compat.v1.scatter_nd_add এর সাথে খুব মিল, ব্যতীত যে আপডেটগুলি একটি বিদ্যমান টেনসরে যোগ করা হয় (একটি পরিবর্তনশীলের বিপরীতে)। যদি বিদ্যমান টেনসরের মেমরিটি পুনরায় ব্যবহার করা না যায় তবে একটি অনুলিপি তৈরি এবং আপডেট করা হয়।

`indices` হল একটি পূর্ণসংখ্যার টেনসর যাতে সূচকগুলিকে একটি নতুন টেনসর আকারের `tensor.shape`-এ ধারণ করে। `সূচক`-এর শেষ মাত্রা সর্বাধিক `tensor.shape`-এর র‍্যাঙ্ক হতে পারে:

indices.shape[-1] <= tensor.shape.rank
 
`সূচক`-এর শেষ মাত্রা উপাদানের মধ্যে সূচকের সাথে মিলে যায় (যদি `indices.shape[-1] = tensor.shape হয়। rank`) বা স্লাইস (যদি `indices.shape[-1] < tensor.shape.rank`) `tensor.shape` এর মাত্রা `indices.shape[-1]` বরাবর। `আপডেট` হল
indices.shape[:-1] + tensor.shape[indices.shape[-1]:]
 
আকৃতির একটি টেনসর যা `tensor_scatter_nd_add` এর সহজতম রূপ হল সূচী অনুসারে একটি টেনসরে পৃথক উপাদান যোগ করা। উদাহরণস্বরূপ, বলুন আমরা 8টি উপাদান সহ একটি র্যাঙ্ক-1 টেনসরে 4টি উপাদান যুক্ত করতে চাই।

পাইথনে, এই স্ক্যাটার অ্যাড অপারেশনটি দেখতে এরকম হবে:

>>> সূচক = tf.constant([[4], [3], [1], [7]]) >>> আপডেট = tf.constant([9, 10, 11, 12]) >>> টেনসর = tf.ones([8], dtype=tf.int32) >>> আপডেট করা হয়েছে = tf.tensor_scatter_nd_add(tensor, indices, updates) >>> আপডেট হয়েছে

আমরা একই সাথে উচ্চতর র্যাঙ্কের টেনসরের সম্পূর্ণ স্লাইস সন্নিবেশ করতে পারি। উদাহরণস্বরূপ, যদি আমরা একটি র‍্যাঙ্ক-3 টেনসরের প্রথম ডাইমেনশনে দুটি স্লাইস সন্নিবেশ করতে চাই যাতে নতুন মানের দুটি ম্যাট্রিস থাকে।

পাইথনে, এই স্ক্যাটার অ্যাড অপারেশনটি দেখতে এরকম হবে:

>>> সূচক = tf.constant([[0], [2]]) >>> আপডেট = tf.constant([[[5, 5, 5, 5], [6, 6, 6, 6], ... [7, 7, 7, 7], [8, 8, 8, 8]], ... [[5, 5, 5, 5], [6, 6, 6, 6], .. [7, 7, 7, 7], [8, 8, 8, 8]]]) >>> tensor = tf.ones([4, 4, 4],dtype=tf.int32) >>> আপডেট করা হয়েছে = tf.tensor_scatter_nd_add(টেনসর, সূচক, আপডেট) >>> আপডেট করা হয়েছে

দ্রষ্টব্য: CPU-তে, আউট অফ বাউন্ড সূচক পাওয়া গেলে, একটি ত্রুটি ফেরত দেওয়া হয়। GPU-তে, আউট অফ বাউন্ড সূচক পাওয়া গেলে, সূচক উপেক্ষা করা হয়।

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

আউটপুট <T>
আউটপুট হিসাবে ()
একটি টেনসরের প্রতীকী হ্যান্ডেল প্রদান করে।
static <T, U প্রসারিত সংখ্যা> TensorScatterAdd <T>
তৈরি করুন ( স্কোপ স্কোপ, Operand <T> টেনসর, Operand <U> সূচক, Operand <T> আপডেট)
একটি নতুন TensorScatterAdd অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।
আউটপুট <T>
আউটপুট ()
একটি নতুন টেনসর টেনসর থেকে কপি করা হয়েছে এবং সূচক অনুযায়ী আপডেট যোগ করা হয়েছে।

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

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

সর্বজনীন আউটপুট <T> হিসাবে আউটপুট ()

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

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

পাবলিক স্ট্যাটিক TensorScatterAdd <T> তৈরি করুন ( Scope scope, Operand <T> tensor, Operand <U> সূচক, Operand <T> আপডেট)

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

পরামিতি
সুযোগ বর্তমান সুযোগ
টেনসর কপি/আপডেট করতে টেনসর।
সূচক সূচক টেনসর।
আপডেট আউটপুট মধ্যে ছড়িয়ে ছিটিয়ে আপডেট.
রিটার্নস
  • TensorScatterAdd এর একটি নতুন উদাহরণ

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

একটি নতুন টেনসর টেনসর থেকে কপি করা হয়েছে এবং সূচক অনুযায়ী আপডেট যোগ করা হয়েছে।