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

TensorScatterSub

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

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

এই ক্রিয়াকলাপটি `টেনসরে পাস করা থেকে স্পার্স` আপডেট` বিয়োগ করে একটি নতুন টেনসর তৈরি করে ` এই অপারেশনটি existing tf.scatter_nd_sub` এর সাথে খুব মিল, ব্যতীত আপডেটগুলি একটি বিদ্যমান টেনসর থেকে বিয়োগ করা হয় (কোনও ভেরিয়েবলের বিপরীতে)। যদি বিদ্যমান টেন্সরের জন্য মেমরিটি পুনরায় ব্যবহার করা না যায় তবে একটি অনুলিপি তৈরি করে আপডেট করা হয়।

`সূচকগুলি হ'ল আকার` আকারের একটি নতুন টেনসরতে সূচকযুক্ত একটি পূর্ণসংখ্যা টেনসর ` `সূচকগুলির শেষ মাত্রা সর্বাধিক` আকৃতি` এর র‌্যাঙ্ক হতে পারে:

সূচিপত্র [শেপ [-1] <= আকৃতি.রঙ্ক

`সূচকগুলির শেষ মাত্রা সূচকগুলির সাথে সূত্রগুলির সাথে মিল রাখে (যদি ices সূচকগুলি sha আকার [-1] = আকৃতি.রঙ্ক`) অথবা স্লাইসগুলি (যদি` সূচকগুলি sha আকার [-1] <আকৃতি.রঙ্ক`) মাত্রা সহ `সূচকগুলি হয় । শেপ [-1] `এর` আকার` ` `আপডেটগুলি হ'ল আকৃতির একটি সেন্সর

সূচিপত্রগুলি: [[- - 1] + আকৃতি [সূচকগুলি [শেপ [-1]:]

Tensor_scatter_sub এর সহজতম রূপটি হ'ল সূচক অনুসারে একটি টেনসর থেকে পৃথক উপাদানগুলি বিয়োগ করা। উদাহরণস্বরূপ, বলুন আমরা 8 টি উপাদান সহ র‌্যাঙ্ক -1 টেনসারে 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_sub(tensor, indices, updates)
     print(updated)
 
ফলাফল প্রাপ্ত টেন্সরটি দেখতে এটির মতো হবে:

[1, -10, 1, -9, -8, 1, 1, -11]

আমরা আরও একবারে উচ্চতর র‌্যাঙ্ক টেনসারের সম্পূর্ণ স্লাইসগুলি .োকাতে পারি। উদাহরণস্বরূপ, আমরা যদি নতুন মানের দুটি ম্যাট্রিকের সাথে একটি র‌্যাঙ্ক -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_sub(tensor, indices, updates)
     print(updated)
 
ফলাফলকারী টেন্সরটি দেখতে এটির মতো হবে:

[[[-4, -4, -4, -4], [-5, -5, -5, -5], [-6, -6, -6, -6], [-7, -7 , -7, -7]], [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]] , [[-4, -4, -4, -4], [-5, -5, -5, -5], [-6, -6, -6, -6], [-7, -7 , -7, -7]], [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]] ]

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

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

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

উত্তরাধিকারী পদ্ধতি

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

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

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

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

পাবলিক স্ট্যাটিক টেনসরস্ক্যাটারসুব <টি> তৈরি করুন ( স্কোপ স্কোপ, অপেরাড <টি> টেনসর, অপেরাড <ইউ> সূচক, অপেরাড <টি> আপডেট)

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

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

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

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