AllToAll

คลาสสุดท้ายสาธารณะ AllToAll

Op เพื่อแลกเปลี่ยนข้อมูลระหว่างแบบจำลอง TPU

ในแต่ละเรพลิกา อินพุตจะถูกแบ่งออกเป็นบล็อก `split_count` ตาม 'split_daiment` และส่งไปยังเรพลิกาอื่นๆ ที่กำหนด group_assignment หลังจากได้รับ `split_count` - 1 บล็อกจากแบบจำลองอื่น เราจะต่อบล็อกต่างๆ ตาม `concat_ dimensions` เป็นเอาต์พุต

ตัวอย่างเช่น สมมติว่ามีแบบจำลอง TPU 2 ตัว: แบบจำลอง 0 ได้รับอินพุต: `[[A, B]]` แบบจำลอง 1 ได้รับอินพุต: `[[C, D]]`

group_signment=`[[0, 1]]` concat_size=0 split_ dimensions=1 split_count=2

เอาต์พุตของแบบจำลอง 0: `[[A], [C]]` เอาต์พุตของแบบจำลอง 1: `[[B], [D]]`

วิธีการสาธารณะ

เอาท์พุต <T>
เป็นเอาท์พุต ()
ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์
คงที่ <T> AllToAll <T>
สร้าง (ขอบเขต ขอบเขต , อินพุต Operand <T>, Operand <Integer> groupAssignment, Long concatDimension, Long splitDimension, Long splitCount)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ AllToAll ใหม่
เอาท์พุต <T>
เอาท์พุท ()
ผลการแลกเปลี่ยน.

วิธีการสืบทอด

วิธีการสาธารณะ

เอาท์ พุท สาธารณะ <T> asOutput ()

ส่งกลับค่าแฮนเดิลสัญลักษณ์ของเทนเซอร์

อินพุตสำหรับการดำเนินการ TensorFlow คือเอาต์พุตของการดำเนินการ TensorFlow อื่น วิธีการนี้ใช้เพื่อรับหมายเลขอ้างอิงสัญลักษณ์ที่แสดงถึงการคำนวณอินพุต

สร้าง AllToAll <T> แบบคงที่สาธารณะ (ขอบเขต ขอบเขต , ตัวดำเนินการ <T> อินพุต, ตัวดำเนินการ <Integer> groupAssignment, Long concatDimension, Long splitDimension, Long splitCount)

วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ AllToAll ใหม่

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
ป้อนข้อมูล อินพุตท้องถิ่นเพื่อผลรวม
การมอบหมายกลุ่ม เทนเซอร์ int32 ที่มีรูปร่าง [num_groups, num_replicas_per_group] `group_assignment[i]` แสดงถึงรหัสจำลองในกลุ่มย่อยที่ ith
เชื่อมต่อมิติ หมายเลขมิติที่จะต่อกัน
แยกมิติ หมายเลขมิติที่จะแยก
แยกนับ จำนวนการแยก จำนวนนี้ต้องเท่ากับขนาดกลุ่มย่อย(group_assignment.get_shape()[1])
การส่งคืน
  • อินสแตนซ์ใหม่ของ AllToAll

เอาท์พุท สาธารณะ <T> เอาท์พุท ()

ผลการแลกเปลี่ยน.