تحذير: تم إهمال واجهة برمجة التطبيقات هذه وستتم إزالتها في إصدار مستقبلي من TensorFlow بعد استقرار الاستبدال .

TensorScatterAdd

فئة نهائية عامة TensorScatterAdd

يضيف "تحديثات" متفرقة إلى موتر موجود وفقًا لـ "الفهارس".

تنشئ هذه العملية موترًا جديدًا عن طريق إضافة "تحديثات" متفرقة إلى "الموتر" الذي تم تمريره. هذه العملية تشبه إلى حد بعيد tf.compat.v1.scatter_nd_add ، فيما عدا أنه تتم إضافة التحديثات إلى موتر موجود (على عكس المتغير). إذا تعذر إعادة استخدام ذاكرة الموتر الموجود ، فسيتم عمل نسخة وتحديثها.

"الفهارس" هو موتر عدد صحيح يحتوي على مؤشرات في موتر جديد للشكل "tensor.shape". يمكن أن يكون البعد الأخير لـ "المؤشرات" على الأكثر رتبة "tensor.shape":

indices.shape[-1] <= tensor.shape.rank
 
البعد الأخير لـ "مؤشرات" يتوافق مع مؤشرات في عناصر (إذا كان `index.shape [-1] = tensor.shape. Rank`) أو الشرائح (إذا كان `index.shape [-1] <tensor.shape.rank`) بطول البعد` index.shape [-1] `لـ` tensor.shape`. "التحديثات" هو موتر بالشكل
indices.shape[:-1] + tensor.shape[indices.shape[-1]:]
 
أبسط أشكال "tensor_scatter_nd_add" هو إضافة عناصر فردية إلى موتر بواسطة فهرس. على سبيل المثال ، لنفترض أننا نريد إضافة 4 عناصر في موتر من الرتبة 1 مع 8 عناصر.

في Python ، ستبدو عملية إضافة التبعثر هذه كما يلي:

>>> الفهارس = tf.constant ([[4] ، [3] ، [1] ، [7]]) >>> التحديثات = tf.constant ([9 ، 10 ، 11 ، 12]) >>> موتر = tf.ones ([8]، dtype = tf.int32) >>> محدث = tf.tensor_scatter_nd_add (موتر ، مؤشرات ، تحديثات) >>> محدث

يمكننا أيضًا إدخال شرائح كاملة من موتر عالي الرتبة مرة واحدة. على سبيل المثال ، إذا أردنا إدخال شريحتين في البعد الأول من موتر الرتبة 3 مع مصفوفتين من القيم الجديدة.

في Python ، ستبدو عملية إضافة التبعثر هذه كما يلي:

>>> الفهارس = 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]]) >>> موتر = tf.ones ([4 ، 4 ، 4] ، dtype = tf.int32) >>> محدث = tf.tensor_scatter_nd_add (موتر ، مؤشرات ، تحديثات) >>> محدث

ملاحظة: في وحدة المعالجة المركزية ، إذا تم العثور على فهرس خارج النطاق ، يتم إرجاع خطأ. في وحدة معالجة الرسومات ، إذا تم العثور على فهرس خارج النطاق ، فسيتم تجاهل الفهرس.

الطرق العامة

الإخراج <T>
asOutput ()
إرجاع المقبض الرمزي للموتر.
ثابت <T ، U يمتد رقم> TensorScatterAdd <T>
إنشاء ( نطاق النطاق ، عامل التشغيل <T> موتر ، مؤشرات عامل <U> ، تحديثات عامل التشغيل <T>)
طريقة المصنع لإنشاء فئة التفاف لعملية TensorScatterAdd جديدة.
الإخراج <T>
الإخراج ()
موتر جديد منسوخ من موتر وتحديثات مضافة وفقا للمؤشرات.

الطرق الموروثة

الطرق العامة

الإخراج العام <T> كإخراج ()

إرجاع المقبض الرمزي للموتر.

المدخلات لعمليات TensorFlow هي مخرجات عملية TensorFlow أخرى. تستخدم هذه الطريقة للحصول على مقبض رمزي يمثل حساب المدخلات.

إنشاء TensorScatterAdd العام الثابت <T> ( نطاق النطاق ، عامل التشغيل <T> موتر ، مؤشرات عامل <U> ، عامل التشغيل <T> تحديثات)

طريقة المصنع لإنشاء فئة التفاف لعملية TensorScatterAdd جديدة.

المعلمات
الكائن النطاق الحالي
موتر موتر للنسخ / التحديث.
المؤشرات موتر الفهرس.
التحديثات تحديثات للتشتت في الإخراج.
عائدات
  • مثيل جديد من TensorScatterAdd

الإخراج العام <T> الإخراج ()

موتر جديد منسوخ من موتر وتحديثات مضافة وفقا للمؤشرات.