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

TensorScatterAdd

পাবলিক চূড়ান্ত বর্গ TensorScatterAdd

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

এই অপারেশনটি 'টেন্সর' -এ উত্তীর্ণদের মধ্যে বিচ্ছিন্ন' আপডেট 'যোগ করে একটি নতুন টেন্সর তৈরি করে। এই অপারেশনটি `tf.compat.v1.scatter_nd_add` এর অনুরূপ, আপডেটগুলি বিদ্যমান টেনসারে যুক্ত করা হয়েছে (একটি ভেরিয়েবলের বিপরীতে)। যদি বিদ্যমান টেন্সরের স্মৃতি পুনরায় ব্যবহার করা না যায়, তাহলে একটি অনুলিপি তৈরি করা হয় এবং আপডেট করা হয়।

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

সূচক। আকার [-1] <= tensor.shape.rank

`সূচক`-এর শেষ মাত্রা সূচকের সঙ্গে উপাদানের (যদি` সূচী। আকার [-1] = tensor.shape.rank`) অথবা স্লাইস (যদি `সূচক। আকার [-1] <tensor.shape.rank`) `tensor.shape` এর মাত্রা` index.shape [-1] `বরাবর। 'আপডেটস' হল আকৃতির একটি টেন্সর

সূচক। আকার [:-1] + tensor.shape [সূচক। আকার [-1]:]

Tensor_scatter_add এর সহজতম রূপ হল সূচী অনুসারে একটি টেনসারে পৃথক উপাদান যুক্ত করা। উদাহরণস্বরূপ, বলুন আমরা একটি র‍্যাঙ্ক -1 টেনসারে 8 টি উপাদান সহ 4 টি উপাদান যুক্ত করতে চাই।

: পাইথন, এই ছিটান অ্যাড অপারেশন ভালো দেখাবে

indices = tf.constant([[4], [3], [1], [7]])
     updates = tf.constant([9, 10, 11, 12])
     tensor = tf.ones([8], dtype=tf.int32)
     updated = tf.tensor_scatter_nd_add(tensor, indices, updates)
     print(updated)
 
ফলে টেন্সর ভালো দেখাবে:

[1, 12, 1, 11, 10, 1, 1, 13]

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

: পাইথন, এই ছিটান অ্যাড অপারেশন ভালো দেখাবে

indices = tf.constant([[0], [2]])
     updates = 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)
     updated = tf.tensor_scatter_nd_add(tensor, indices, updates)
     print(updated)
 
ফলে টেন্সর ভালো দেখাবে:

[[[6, 6, 6, 6], [7, 7, 7, 7], [8, 8, 8, 8], [9, 9, 9, 9]], [[1, 1, 1 , 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]], [[6, 6, 6, 6], [7, 7 , 7, 7], [8, 8, 8, 8], [9, 9, 9, 9]], [[1, 1, 1, 1], [1, 1, 1, 1], [1 , 1, 1, 1], [1, 1, 1, 1]]]

উল্লেখ্য, CPU- তে যদি বাইন্ড ইনডেক্স পাওয়া যায়, তাহলে একটি ত্রুটি ফেরত আসে। জিপিইউতে, যদি বাইরের আবদ্ধ সূচক পাওয়া যায়, সূচকটি উপেক্ষা করা হয়।

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

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

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

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

পাবলিক আউটপুট <টি> asOutput ()

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

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

পাবলিক স্ট্যাটিক TensorScatterAdd <টি> তৈরি করুন ( ব্যাপ্তি সুযোগ প্রতীক <টি> টেন্সর, প্রতীক <u> সূচকের, প্রতীক <টি> আপডেট)

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

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

পাবলিক আউটপুট <টি> আউটপুট ()

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