Một Op để trao đổi dữ liệu trên các bản sao TPU.
Trên mỗi bản sao, đầu vào được chia thành các khối `split_count` dọc theo `split_dimension` và gửi đến các bản sao khác được chỉ định nhóm. Sau khi nhận được `split_count` - 1 khối từ các bản sao khác, chúng tôi ghép các khối dọc theo `concat_dimension` làm đầu ra.
Ví dụ: giả sử có 2 bản sao TPU: bản sao 0 nhận đầu vào: `[[A, B]]` bản sao 1 nhận đầu vào: `[[C, D]]`
group_signment=`[[0, 1]]` concat_dimension=0 chia_dimension=1 chia_count=2
Đầu ra của bản sao 0: `[[A], [C]]` Đầu ra của bản sao 1: `[[B], [D]]`
Hằng số
Sợi dây | OP_NAME | Tên của op này, được biết đến bởi công cụ lõi TensorFlow |
Phương pháp công cộng
Đầu ra <T> | asOutput () Trả về tay cầm tượng trưng của tensor. |
tĩnh <T mở rộng TType > AllToAll <T> | |
Đầu ra <T> | đầu ra () Kết quả đã trao đổi. |
Phương pháp kế thừa
Hằng số
Chuỗi cuối cùng tĩnh công khai OP_NAME
Tên của op này, được biết đến bởi công cụ lõi TensorFlow
Phương pháp công cộng
Đầu ra công khai <T> asOutput ()
Trả về tay cầm tượng trưng của tensor.
Đầu vào của các hoạt động TensorFlow là đầu ra của một hoạt động TensorFlow khác. Phương pháp này được sử dụng để thu được một thẻ điều khiển mang tính biểu tượng đại diện cho việc tính toán đầu vào.
tĩnh công khai AllToAll <T> tạo ( Phạm vi phạm vi , đầu vào Toán hạng <T>, Toán hạng < TInt32 > phân công nhóm, Kích thước concat dài, Kích thước phân chia dài, Đếm phân chia dài)
Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác AllToAll mới.
Thông số
phạm vi | phạm vi hiện tại |
---|---|
đầu vào | Đầu vào cục bộ của tổng. |
nhómBài tập | Một tensor int32 có hình dạng [num_groups, num_replicas_per_group]. `group_signment[i]` đại diện cho các id bản sao trong nhóm con thứ i. |
concatKích thước | Số thứ nguyên để nối. |
chia kích thước | Số thứ nguyên cần phân chia. |
số lượng chia | Số lần chia, số này phải bằng kích thước nhóm con(group_signment.get_shape()[1]) |
Trả lại
- một phiên bản mới của AllToAll