حداکثر را در امتداد بخش های یک تانسور محاسبه می کند.
برای توضیح بخشها [بخش تقسیمبندی] (https://tensorflow.org/api_docs/python/tf/math#Segmentation) را بخوانید.
تانسوری را طوری محاسبه می کند که \\(output_i = \max_j(data_j)\\) جایی که «max» بیش از «j» است، به طوری که «segment_ids[j] == i».
اگر ماکزیمم برای شناسه بخش معین «i» خالی باشد، کوچکترین مقدار ممکن را برای نوع عددی خاص، «خروجی[i] = numeric_limits خروجی میدهد. توجه: این عملیات در حال حاضر فقط با jit_compile=True پشتیبانی می شود. احتیاط: در CPU، مقادیر موجود در «segment_ids» همیشه برای مرتبسازی اعتبارسنجی میشوند و برای شاخصهایی که در حال افزایش نیستند، خطا ایجاد میشود. در GPU، این خطا برای شاخص های مرتب نشده ایجاد نمی کند. در GPU، شاخصهای خارج از دستور منجر به رفتار ایمن اما نامشخص میشوند، که ممکن است شامل تلقی با شاخصهای خارج از نظم بهعنوان یک شاخص کوچکتر زیر باشد. تنها تفاوت با SegmentMax ورودی اضافی «num_segments» است. این به ارزیابی شکل خروجی در زمان کامپایل کمک می کند. "num_segments" باید با segment_ids سازگار باشد. به عنوان مثال حداکثر (segment_ids) باید برابر با 'num_segments' - 1 برای segment_ids 1-d با num_segments ناسازگار، عملیات هنوز اجرا می شود. تنها تفاوت این است که خروجی اندازه num_segments را صرف نظر از اندازه segment_ids و داده ها می گیرد. برای num_segments کمتر از اندازه خروجی مورد انتظار، آخرین عناصر برای num_segments بیشتر از اندازه خروجی مورد انتظار نادیده گرفته می شوند، آخرین عناصر کوچکترین مقدار ممکن را برای نوع عددی خاص اختصاص می دهند. به عنوان مثال: >>> @tf.function(jit_compile=True) ... def test(c): ... بازگشت tf.raw_ops.SegmentMaxV2(data=c, segment_ids=tf.constant([0, 0, 1]), num_segments=2) >>> c = tf.constant([[1,2,3,4], [4, 3, 2, 1], [5,6,7,8]]) >>> test( c).numpy() آرایه([[4, 3, 3, 4], [5, 6, 7, 8]], dtype=int32)
روش های عمومی
خروجی <T> | asOutput () دسته نمادین یک تانسور را برمیگرداند. |
static <T عدد را گسترش می دهد، U عدد را گسترش می دهد، V عدد را گسترش می دهد> SegmentMaxV2 <T> | |
خروجی <T> | خروجی () شکلی مشابه داده دارد، به جز اولین ابعاد «segment_ids.rank»، که با یک بعد منفرد با اندازه «تعداد_بخش» جایگزین شده است. |
روش های ارثی
روش های عمومی
خروجی عمومی <T> asOutput ()
دسته نمادین یک تانسور را برمیگرداند.
ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.
ایجاد بخش عمومی ایستا SegmentMaxV2 <T> ( Scope scope، Operand <T> داده، Operand <U> segmentIds، Operand <V> numSegments)
روش کارخانه برای ایجاد کلاسی که یک عملیات SegmentMaxV2 جدید را بسته بندی می کند.
پارامترها
دامنه | محدوده فعلی |
---|---|
شناسه های بخش | یک تانسور 1 بعدی که اندازه آن برابر با اندازه بعد اول «داده» است. مقادیر باید مرتب شوند و قابل تکرار باشند. مقادیر باید کمتر از «تعداد_بخش» باشد. احتیاط: مقادیر همیشه برای مرتبسازی روی CPU تأیید میشوند، هرگز در GPU تأیید نمیشوند. |
برمی گرداند
- یک نمونه جدید از SegmentMaxV2
خروجی عمومی <T> خروجی ()
شکلی مشابه داده دارد، به جز اولین ابعاد «segment_ids.rank»، که با یک بعد منفرد با اندازه «تعداد_بخش» جایگزین شده است.