Многопроцессорность не может автоматически перерабатывать дочерние процессы зомби для моего кода дополнения данных на лету - PullRequest
1 голос
/ 14 марта 2019

Информация о системе:

Linux Ubuntu
Docker
Python 3.6.8

Я делаю оперативное увеличение данных для сегментации медицинских изображений.Вдохновленный line 158~161 из faustomilletari / VNet , пример кода для дополнения данных выглядит следующим образом:

trainQueue = Queue(queue_size) # store patches
tr_dataPrep = [None] * nProc
for proc in range(nProc):
    tr_dataPrep[proc] = Process(target=data_aug_function, args=(train_files, trainQueue, patch_size))
    tr_dataPrep[proc].daemon = True
    tr_dataPrep[proc].start()

Приведенный выше код хорошо работал на одном сервере, который сейчас недоступен, но не удалось на другом сервере, где через некоторое время появилось множество дочерних процессов-зомби, и процесс обучения просто зависает там на неопределенное время.

Кажется, что некоторые дочерние процессы были убиты системой, но мы не знаем,почему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...