คำนวณค่าสูงสุดตามส่วนของเทนเซอร์
อ่าน [ส่วนเกี่ยวกับการแบ่งส่วน](https://tensorflow.org/api_docs/python/tf/math#Segmentation) เพื่อดูคำอธิบายเกี่ยวกับส่วนต่างๆ
คำนวณเทนเซอร์ในลักษณะที่ \\(output_i = \max_j(data_j)\\) โดยที่ `max` อยู่เหนือ `j` ดังนั้น `segment_ids[j] == i`
หากค่าสูงสุดว่างเปล่าสำหรับ ID ส่วนที่กำหนด `i` จะแสดงผลค่าที่น้อยที่สุดที่เป็นไปได้สำหรับประเภทตัวเลขเฉพาะ `output[i] = numeric_limits หมายเหตุ: ขณะนี้ op นี้รองรับเฉพาะ jit_compile=True เท่านั้น ข้อควรระวัง: บน CPU ค่าใน `segment_ids` จะได้รับการตรวจสอบความถูกต้องเสมอเพื่อจัดเรียง และจะมีข้อผิดพลาดเกิดขึ้นสำหรับดัชนีที่ไม่เพิ่มขึ้น บน GPU สิ่งนี้จะไม่ทำให้เกิดข้อผิดพลาดสำหรับดัชนีที่ไม่ได้เรียงลำดับ บน GPU ดัชนีที่ไม่อยู่ในลำดับส่งผลให้เกิดการทำงานที่ปลอดภัยแต่ไม่ได้ระบุ ซึ่งอาจรวมถึงการจัดการดัชนีที่ไม่อยู่ในลำดับเช่นเดียวกับดัชนีต่อไปนี้ที่มีขนาดเล็กกว่า ข้อแตกต่างเพียงอย่างเดียวของ SegmentMax คืออินพุตเพิ่มเติม `num_segments` ซึ่งจะช่วยในการประเมินรูปร่างเอาต์พุตในเวลาคอมไพล์ `num_segments` ควรสอดคล้องกับ group_ids เช่น Max(segment_ids) ควรเท่ากับ `num_segments` - 1 สำหรับ 1-d Segment_ids เนื่องจาก num_segments ไม่สอดคล้องกัน op ยังคงทำงานอยู่ ข้อแตกต่างเพียงอย่างเดียวคือเอาต์พุตจะใช้ขนาดของ num_segments โดยไม่คำนึงถึงขนาดของเซกเมนต์_ids และข้อมูล สำหรับ num_segments ที่น้อยกว่าขนาดเอาต์พุตที่คาดไว้ องค์ประกอบสุดท้ายจะถูกละเว้นสำหรับ num_segments ที่มากกว่าขนาดเอาต์พุตที่คาดไว้ องค์ประกอบสุดท้ายจะได้รับการกำหนดค่าที่เล็กที่สุดที่เป็นไปได้สำหรับประเภทตัวเลขที่ระบุ ตัวอย่างเช่น: >>> @tf.function(jit_compile=True) ... def test(c): ... return 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]]) >>> ทดสอบ( c).numpy() อาร์เรย์([[4, 3, 3, 4], [5, 6, 7, 8]], dtype=int32)
วิธีการสาธารณะ
เอาท์พุต <T> | เป็นเอาท์พุต () ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์ |
คงที่ <T ขยายหมายเลข, U ขยายหมายเลข, V ขยายหมายเลข> SegmentMaxV2 <T> | สร้าง (ขอบเขต ขอบเขต ข้อมูล ตัวดำเนินการ <T> ตัวดำเนินการ <U> SegmentIds ตัวดำเนินการ <V> numSegments) วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ SegmentMaxV2 ใหม่ |
เอาท์พุต <T> | เอาท์พุท () มีรูปร่างเหมือนกับข้อมูล ยกเว้นมิติข้อมูล `segment_ids.rank` แรก ซึ่งถูกแทนที่ด้วยมิติเดียว w ซึ่งมีขนาด `num_segments` |
วิธีการสืบทอด
วิธีการสาธารณะ
เอาท์พุท สาธารณะ <T> asOutput ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต
สร้าง SegmentMaxV2 <T> แบบคงที่สาธารณะ (ขอบเขต ขอบเขต ข้อมูล <T> ตัวดำเนินการ <U> SegmentIds ตัว ดำเนินการ <V> numSegments)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ SegmentMaxV2 ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
รหัสส่วน | เทนเซอร์ 1 มิติที่มีขนาดเท่ากับขนาดของมิติแรกของ "ข้อมูล" ควรเรียงลำดับค่าและสามารถทำซ้ำได้ ค่าต้องน้อยกว่า `num_segments` ข้อควรระวัง: ค่าต่างๆ จะได้รับการตรวจสอบความถูกต้องเสมอเพื่อจัดเรียงบน CPU และไม่เคยตรวจสอบความถูกต้องบน GPU |
การส่งคืน
- อินสแตนซ์ใหม่ของ SegmentMaxV2
เอาท์พุท สาธารณะ <T> เอาท์พุ ท ()
มีรูปร่างเหมือนกับข้อมูล ยกเว้นมิติข้อมูล `segment_ids.rank` แรก ซึ่งถูกแทนที่ด้วยมิติเดียว w ซึ่งมีขนาด `num_segments`