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]]`
Phương pháp công cộng
Đầu ra <T> | asOutput () Trả về phần điều khiển tượng trưng của một tenxơ. |
tĩnh <T> AllToAll <T> | |
Đầu ra <T> | đầu ra () Kết quả đã trao đổi. |
Phương pháp kế thừa
Phương pháp công cộng
Đầu ra công khai <T> asOutput ()
Trả về phần điều khiển tượng trưng của một tenxơ.
Đầ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.
public static AllToAll <T> tạo (Phạm vi phạm vi , đầu vào Toán hạng <T>, Nhóm toán hạng <Số nguyên>, 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