TensorScatterAdd

کلاس نهایی عمومی TensorScatterAdd

«به‌روزرسانی‌های» پراکنده را به یک تانسور موجود با توجه به «شاخص‌ها» اضافه می‌کند.

این عملیات با افزودن «به‌روزرسانی‌های» پراکنده به «تانسور»، یک تانسور جدید ایجاد می‌کند. این عملیات بسیار شبیه به tf.compat.v1.scatter_nd_add است، با این تفاوت که به روز رسانی ها به یک تانسور موجود (برخلاف یک متغیر) اضافه می شوند. اگر حافظه تانسور موجود قابل استفاده مجدد نباشد، یک کپی ساخته شده و به روز می شود.

«شاخص‌ها» یک تانسور عدد صحیح است که شامل شاخص‌هایی در یک تانسور جدید به شکل «tensor.shape» است. آخرین بعد «شاخص‌ها» حداکثر می‌تواند رتبه «تانسور.شکل» باشد:

indices.shape[-1] <= tensor.shape.rank
 
آخرین بعد «شاخص‌ها» به شاخص‌ها در عناصر مربوط می‌شود (اگر «indice.shape[-1] = tensor.shape. rank») یا برش‌هایی (اگر «indice.shape[-1] < tensor.shape.rank») در امتداد بعد «indices.shape[-1]» از «tensor.shape». "به روز رسانی" یک تانسور با شکل
indices.shape[:-1] + tensor.shape[indices.shape[-1]:]
 
است. ساده ترین شکل "tensor_scatter_nd_add" اضافه کردن عناصر منفرد به یک تانسور بر اساس شاخص است. به عنوان مثال، فرض کنید می خواهیم 4 عنصر را با 8 عنصر در یک تانسور رتبه-1 اضافه کنیم.

در پایتون، این عملیات اضافه کردن پراکنده به شکل زیر است:

>>> شاخص = tf.constant([[4]، [3]، [1]، [7]]) >>> به روز رسانی = tf.constant([9, 10, 11, 12]) >>> تانسور = tf.ones([8], dtype=tf.int32) >>> به روز شد = tf.tensor_scatter_nd_add(تنسور، شاخص ها، به روز رسانی ها) >>> به روز شد

همچنین می‌توانیم تمام برش‌های یک تانسور رتبه بالاتر را به یکباره وارد کنیم. به عنوان مثال، اگر بخواهیم دو برش را در بعد اول یک تانسور رتبه-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]]] >>> تانسور = tf.ones([4, 4, 4],dtype=tf.int32) >>> به روز شد = tf.tensor_scatter_nd_add (تانسور، شاخص ها، به روز رسانی ها) >>> به روز شد

توجه: در CPU، اگر یک نمایه خارج از کران پیدا شود، یک خطا برگردانده می شود. در GPU، اگر یک نمایه خارج از کران پیدا شود، شاخص نادیده گرفته می شود.

روش های عمومی

خروجی <T>
asOutput ()
دسته نمادین یک تانسور را برمی‌گرداند.
ایستا <T، U تعداد را گسترش می دهد> TensorScatterAdd <T>
ایجاد ( دامنه دامنه ، تانسور عملوند <T>، شاخص های عملوند <U>، به روز رسانی های عملوند <T>)
روش Factory برای ایجاد کلاسی که یک عملیات TensorScatterAdd جدید را بسته بندی می کند.
خروجی <T>
خروجی ()
یک تانسور جدید کپی شده از تانسور و به‌روزرسانی‌هایی که بر اساس شاخص‌ها اضافه شده است.

روش های ارثی

روش های عمومی

خروجی عمومی <T> asOutput ()

دسته نمادین یک تانسور را برمی‌گرداند.

ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.

عمومی Static TensorScatterAdd <T> create ( Scope scope, Operand <T> tensor, Operand <U> indes, Operand <T> updates)

روش Factory برای ایجاد کلاسی که یک عملیات TensorScatterAdd جدید را بسته بندی می کند.

مولفه های
محدوده محدوده فعلی
تانسور تانسور برای کپی/به روز رسانی
شاخص ها تانسور شاخص
به روز رسانی ها به روز رسانی برای پراکندگی در خروجی.
برمی گرداند
  • یک نمونه جدید از TensorScatterAdd

خروجی عمومی <T> خروجی ()

یک تانسور جدید کپی شده از تانسور و به‌روزرسانی‌هایی که بر اساس شاخص‌ها اضافه شده است.