Как сделать многопроцессорность на svd расчете? - PullRequest
0 голосов
/ 20 мая 2019

Я новичок в питоне. В настоящее время я пытаюсь применить многопроцессорный модуль для вычисления SVD из матрицы. Может кто-нибудь подсказать мне правильный код проблемы?

Я пытался решить проблему с помощью пула многопроцессорной обработки, но выдает

"TypeError: 'tuple' object is not callable". 

Я ожидаю получить его время обработки, чтобы я мог сравнить время, необходимое для вычисления SVD до многопроцессорной и после многопроцессорной

import time
from multiprocessing import Pool
import numpy as np

def svd_matrix(numbers):

     A = np.array([[1.176, 0.789, 1.3776, 1.0093],
                   [0.9242, 0.4534, 0.5212, 0.7524],
                   [0.2518, 0.3556, 0.8564, 0.2568],
                   [0.9242, 0.4534, 0.5212, 0.7524]])

     for number in numbers:

         start_time = time.time()
         p = Pool()
         result = p.map(svd(A),numbers)

         p.close()
         p.join()

         end_time = time.time() - start_time

    print(f"SVD calculation took {end_time} s using multiprocessing pool")

if __name__ == '__main__':

numbers = A
svd_matrix(numbers)
...