CNN) на pytorch. Есть кастомный аугментатор, у которого есть мастер, генерирующий задачи, и worker'ы, выполняющие задачи. Цель мастера - держать очередь с батчами данных полной. Из этой очереди данные подтягиваются главным потоком, который обучает сетку. Worker'ы обрабатывают по одной картинке, загружаемой с диска, и складировать в очередь результатов, из которой мастер потом сделает батч, и запушит его в основную очередь.
Так, если аугментация простая, то хватит 1 воркера, чтобы очередь всегда была загружена, и тогда процесс обучения тратит 0.73ms/img. А если увеличить количество воркеров до 2, то это время растет до 1.2ms/img. Причем время получения процессом обучения одного батча остаётся очень маленьким. Вопрос - почему замедляется обучение, если увеличить кол-во воркеров? Cpu 32 ядра, занято на 15%
Обсуждают сегодня