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