با استفاده از مقادیر یا برشهای جداگانه، افزودن پراکنده را به «ورودی» اعمال میکند
از "به روز رسانی" با توجه به شاخص های "شاخص". بهروزرسانیها غیر مستعار هستند: «ورودی» تنها در صورتی درجا اصلاح میشود که هیچ عملیات دیگری از آن استفاده نکند. در غیر این صورت، یک کپی از "ورودی" ساخته می شود. این عملیات با توجه به "ورودی" و "به روز رسانی" دارای یک گرادیان است.
«ورودی» یک «تنسور» با رتبه «P» است و «شاخصها» یک «تانسور» از رتبه «Q» است.
«شاخصها» باید تانسور عدد صحیح باشند و شامل شاخصهایی در «ورودی» باشند. باید شکل \\([d_0, ..., d_{Q-2}, K]\\) باشد که در آن «0 < K <= P» باشد.
درونیترین بعد «شاخصها» (با طول «K») مربوط به شاخصهایی به عناصر (اگر «K = P») یا «(PK)» برشهای بعدی (اگر «K <P») در امتداد «K» است. بعد "ورودی".
«بهروزرسانیها» «تنسور» رتبه «Q-1+PK» با شکل:
$$[d_0, ..., d_{Q-2}, input.shape[K], ..., input.shape[P-1]].$$
به عنوان مثال، فرض کنید می خواهیم 4 عنصر پراکنده را به یک تانسور رتبه-1 به 8 عنصر اضافه کنیم. در پایتون، این اضافه به صورت زیر است:
input = tf.constant([1, 2, 3, 4, 5, 6, 7, 8]) indeces = tf.constant([[4], [3], [1], [7]]) به روز رسانی = tf.constant([9، 10، 11، 12]) خروجی = tf.scatter_nd_non_aliasing_add(ورودی، شاخص ها، به روز رسانی ها) با tf.Session() به عنوان sess: print(sess.run(خروجی))
مقدار حاصل «خروجی» به شکل زیر است:
[1، 13، 3، 14، 14، 6، 7، 20]
برای جزئیات بیشتر درباره نحوه بهروزرسانی برشها tf.scatter_nd
را ببینید.
ثابت ها
رشته | OP_NAME | نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود |
روش های عمومی
خروجی <T> | asOutput () دسته نمادین تانسور را برمی گرداند. |
استاتیک <T گسترش TType > ScatterNdNonAliasingAdd <T> | |
خروجی <T> | خروجی () یک «تنسور» با شکلی مشابه «ورودی»، حاوی مقادیر «ورودی» بهروزرسانیشده با «بهروزرسانیها». |
روش های ارثی
ثابت ها
رشته نهایی ثابت عمومی OP_NAME
نام این عملیات، همانطور که توسط موتور هسته TensorFlow شناخته می شود
روش های عمومی
خروجی عمومی <T> asOutput ()
دسته نمادین تانسور را برمی گرداند.
ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.
عمومی Static ScatterNdNonAliasingAdd <T> create ( Scope scope، ورودی Operand <T>، Operand <? TNumber > شاخص ها را گسترش می دهد، Operand <T> به روز رسانی)
روش Factory برای ایجاد کلاسی که یک عملیات جدید ScatterNdNonAliasingAdd را بسته بندی می کند.
مولفه های
محدوده | محدوده فعلی |
---|---|
ورودی | یک تانسور |
شاخص ها | یک تانسور باید یکی از انواع زیر باشد: «int32»، «int64». تانسوری از شاخصها در «ورودی». |
به روز رسانی ها | یک تانسور باید همان نوع ref را داشته باشد. تانسوری از مقادیر بهروزرسانی شده برای افزودن به «ورودی». |
برمی گرداند
- یک نمونه جدید از ScatterNdNonAliasingAdd
خروجی عمومی <T> خروجی ()
یک «تنسور» با شکلی مشابه «ورودی»، حاوی مقادیر «ورودی» بهروزرسانیشده با «بهروزرسانیها».