«بهروزرسانیهای» پراکنده را به یک تانسور موجود با توجه به «شاخصها» اضافه میکند.
این عملیات با افزودن «بهروزرسانیهای» پراکنده به «تانسور»، یک تانسور جدید ایجاد میکند. این عملیات بسیار شبیه به tf.compat.v1.scatter_nd_add
است، با این تفاوت که به روز رسانی ها به یک تانسور موجود (برخلاف یک متغیر) اضافه می شوند. اگر حافظه تانسور موجود قابل استفاده مجدد نباشد، یک کپی ساخته و به روز می شود.
«شاخصها» یک تانسور عدد صحیح است که شامل شاخصهایی در یک تانسور جدید به شکل «tensor.shape» است. آخرین بعد «شاخصها» حداکثر میتواند رتبه «تانسور.شکل» باشد:
indices.shape[-1] <= tensor.shape.rank
آخرین بعد «شاخصها» به شاخصها در عناصر مربوط میشود (اگر «indice.shape[-1] = tensor.shape. rank») یا برشهایی (اگر «indices.shape[-1] < tensor.shape.rank») در امتداد بعد «indices.shape[-1]» از «tensor.shape». "به روز رسانی" یک تانسور با شکل indices.shape[:-1] + tensor.shape[indices.shape[-1]:]
است ساده ترین شکل "tensor_scatter_nd_add" اضافه کردن عناصر منفرد به یک تانسور بر اساس شاخص است. به عنوان مثال، فرض کنید می خواهیم 4 عنصر را در یک تانسور رتبه-1 با 8 عنصر اضافه کنیم.در پایتون، این عملیات اضافه کردن پراکنده به شکل زیر است:
>>> شاخص = 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> | خروجی () یک تانسور جدید کپیشده از تانسور و بهروزرسانیها با توجه به شاخصها اضافه شده است. |
روش های ارثی
روش های عمومی
خروجی عمومی <T> asOutput ()
دسته نمادین یک تانسور را برمیگرداند.
ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.
عمومی Static TensorScatterAdd <T> create ( scope scope, Operand <T> tensor, Operand <U> indes , Operand <T> updates)
روش کارخانه برای ایجاد کلاسی که یک عملیات TensorScatterAdd جدید را بسته بندی می کند.
مولفه های
محدوده | محدوده فعلی |
---|---|
تانسور | تانسور برای کپی/به روز رسانی |
شاخص ها | تانسور شاخص |
به روز رسانی ها | به روز رسانی برای پراکندگی در خروجی. |
برمی گرداند
- یک نمونه جدید از TensorScatterAdd
خروجی عمومی <T> خروجی ()
یک تانسور جدید کپیشده از تانسور و بهروزرسانیها با توجه به شاخصها اضافه شده است.