Я новичок в python и параллельной обработке. Для этого я использую Parallel Python. Проблема в том, что у меня есть 4 задания, которые должны быть созданы, чтобы создать 4 маски и умножить их на мое входное изображение при дальнейшей обработке. Ниже приведен фрагмент кода, написанного для параллельной обработки.Параллельный Python не дает ошибок, но параллельная обработка не выполняется
inputs = range(4)
jobs = [(inpt, job_server.submit(PP, (inpt,input_data,size,(imageMultiply,blockCounter,imageQuantizer), ("numpy","Image"))) for inpt in inputs]
job_server.print_stats()
for inpt, job in jobs:
print "No of blocks in ", inpt, "is", job() ## accessing the result of pp
Вывод, который я получаю:
Starting pp with 4 workers
Job execution statistics:
job count | % of all jobs | job time sum | time per job | job server
4 | 100.00 | 0.0000 | 0.000000 | local
Time elapsed since server creation 0.0219678878784
4 active tasks, 4 cores
No of blocks in 0 is 52
No of blocks in 1 is 61
No of blocks in 2 is 104
No of blocks in 3 is 48
Я не могу понять, что если его не обрабатывает одновременно, до сих пор я могу получить желаемый результат, но время, потраченное слишком большой, который является почему я хочу использовать pp. Пожалуйста, помогите мне в этом, чтобы я мог успешно сократить время. Спасибо заранее ...
Вы должны также назвать 'print_stats()' после того, как все рабочие места соединяются с 'работы()'. Затем вы можете сравнить прошедшее время, измеренное с помощью Parallel Python и без него. Когда вы говорите: «время слишком велико», никто не может сказать, насколько он велик; 1 мин, 1 час, 1 день, ... – nodakai
@nodakai Я написал print_stats() после последней строки и получил следующие результаты: Статистика исполнения: кол-во вакансий | % всех рабочих мест | сумма рабочего времени | время на работу | сервер заданий 4 | 100,00 | 16.0401 | 4.010028 | local Время, прошедшее с момента создания сервера 4.04183793068 0 активных задач, 4 ядра – pypro