با استفاده از مقادیر یا برشهای جداگانه، افزودن پراکنده را به «ورودی» اعمال میکند
از "به روز رسانی" با توجه به شاخص های "شاخص". بهروزرسانیها غیر مستعار هستند: «ورودی» تنها در صورتی درجا اصلاح میشود که هیچ عملیات دیگری از آن استفاده نکند. در غیر این صورت، یک کپی از "ورودی" ساخته می شود. این عملیات با توجه به "ورودی" و "به روز رسانی" دارای یک گرادیان است.
«ورودی» یک «تنسور» با رتبه «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
ببینید.
روش های عمومی
خروجی <T> | asOutput () دسته نمادین یک تانسور را برمیگرداند. |
استاتیک <T، U تعداد را گسترش می دهد> ScatterNdNonAliasingAdd <T> | |
خروجی <T> | خروجی () یک «تنسور» با شکلی مشابه «ورودی»، حاوی مقادیر «ورودی» بهروزرسانیشده با «بهروزرسانیها». |
روش های ارثی
روش های عمومی
خروجی عمومی <T> asOutput ()
دسته نمادین یک تانسور را برمیگرداند.
ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.
عمومی Static ScatterNdNonAliasingAdd <T> create ( دامنه دامنه ، ورودی عملوند <T>، شاخص های عملوند <U>، به روز رسانی های عملوند <T>)
روش Factory برای ایجاد کلاسی که یک عملیات جدید ScatterNdNonAliasingAdd را بسته بندی می کند.
پارامترها
دامنه | محدوده فعلی |
---|---|
ورودی | یک تانسور |
شاخص ها | یک تانسور باید یکی از انواع زیر باشد: «int32»، «int64». تانسوری از شاخصها در «ورودی». |
به روز رسانی ها | یک تانسور باید همان نوع ref را داشته باشد. تانسوری از مقادیر بهروزرسانی شده برای افزودن به «ورودی». |
برمی گرداند
- یک نمونه جدید از ScatterNdNonAliasingAdd
خروجی عمومی <T> خروجی ()
یک «تنسور» با شکلی مشابه «ورودی»، حاوی مقادیر «ورودی» بهروزرسانیشده با «بهروزرسانیها».