Группа процессов в PyTorch
Модуль torch.distributed
служит для обмена между
процессами обучения. Сначала
проверяют, собран ли пакет
для распределённой работы:
import torch
print(torch.distributed.is_available()) # выведет True
Перед обменом тензорами процессы создают группу через инициализацию связи. У каждого участника есть ранг - номер в группе, и главный процесс обычно имеет ранг ноль.
Запускать инициализацию группы в этом уроке не будем: без нескольких процессов она блокирует скрипт. В реальном обучении её вызывают один раз в начале каждого процесса, а затем уже обмениваются градиентами и метриками.
Выведите, доступен ли модуль распределённого обучения в вашей установке.
Импортируйте подмодуль
distributed и выведите
его имя как строку.
Сохраните ответ проверки доступности распределённого пакета в переменную и выведите её тип.