تفریق پراکنده را برای مقادیر یا برش های فردی در یک متغیر اعمال می کند.
«ref» یک «تنسور» با رتبه «P» است و «شاخصها» یک «تانسور» از رتبه «Q» است.
«شاخصها» باید تانسور عدد صحیح باشند و شامل شاخصهایی به «ref» باشند. باید شکل «[d_0، ...، d_{Q-2}، K]» باشد که در آن «0 <K <= P» باشد.
درونیترین بعد «شاخصها» (با طول «K») مربوط به شاخصهایی به عناصر (اگر «K = P») یا برشهایی (اگر «K <P») در امتداد «K»مین بعد «ref» است.
«بهروزرسانیها» «تنسور» رتبه «Q-1+PK» است با شکل:
[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]]
برای مثال، فرض کنید میخواهیم 4 عنصر پراکنده را از یک تانسور رتبه-1 با 8 عنصر کم کنیم. در پایتون، این تفریق به این صورت خواهد بود: ref = tf.Variable([1, 2, 3, 4, 5, 6, 7, 8], use_resource=True)
indices = tf.constant([[4], [3], [1], [7]])
updates = tf.constant([9, 10, 11, 12])
sub = tf.scatter_nd_sub(ref, indices, updates)
with tf.Session() as sess:
print sess.run(sub)
بهروزرسانی بهدستآمده به ref به شکل زیر است:[1، -9، 3، -6، -4، 6، 7، -4]
برای جزئیات بیشتر درباره نحوه بهروزرسانی برشها tf.scatter_nd
را ببینید.
کلاس های تو در تو
کلاس | ResourceScatterNdSub.Options | ویژگی های اختیاری برای ResourceScatterNdSub |
روش های عمومی
static <T تعداد، U> ResourceScatterNdSub را گسترش می دهد | |
استاتیک ResourceScatterNdSub.Options | useLocking (قفل کردن استفاده بولی) |
روش های ارثی
روش های عمومی
ایجاد ResourceScatterNdSub ایستا عمومی ( Scope scope، Operand <?> ref، Operand <T> شاخص، Operand <U> به روز رسانی، Options... گزینه ها)
روش کارخانه برای ایجاد کلاسی که یک عملیات ResourceScatterNdSub جدید را بسته بندی می کند.
مولفه های
محدوده | محدوده فعلی |
---|---|
مرجع | یک دسته منبع باید از یک VarHandleOp باشد. |
شاخص ها | یک تانسور باید یکی از انواع زیر باشد: int32، int64. تانسوری از شاخص ها به رفر. |
به روز رسانی ها | یک تانسور باید همان نوع ref را داشته باشد. تانسوری از مقادیر برای افزودن به مرجع. |
گزینه ها | مقادیر ویژگی های اختیاری را حمل می کند |
برمی گرداند
- یک نمونه جدید از ResourceScatterNdSub
عمومی استاتیک ResourceScatterNdSub.Options useLocking (مصرف بولی Locking)
مولفه های
استفاده از قفل کردن | یک بوول اختیاری پیش فرض ها به True. اگر True باشد، انتساب توسط یک قفل محافظت می شود. در غیر این صورت رفتار تعریف نشده است، اما ممکن است اختلاف کمتری از خود نشان دهد. |
---|