У меня есть матрица размера MxN, и у каждого пробела в матрице есть большой список с номерами.Это выглядит так:
matrix=[[a,b,c,],[d,e,f],[g,h,i]]
, где a, b, c, d, e, f, g, h, i также являются матрицами, каждая из которых выглядит следующим образом:
a,b,c,d,e,f,g,h,i=[[12,32],[54,54],[54,34],[54,23]]
где каждая пара представляет x, y, координаты. это только для представления, реальный размер вышеуказанных матриц огромен.
, поэтому мой код должен циклически проходить по основной матрице и находить максимальные и минимальные значения в пределахподматрицы a, b, c, d ..... Поскольку это не последовательная работа, y разбили работу, используя многоядерную функцию ipyparallel, и это довольно быстро.проблема в том, что я должен загрузить большую матрицу в каждое отдельное ядро, чтобы использовать ее, и эта загрузка занимает около 2 секунд.Я искал опцию push, но она работает только со словарями.Есть ли способ, которым я мог бы преобразовать свою матрицу в словарь или, может быть, толкнуть мою матрицу?
from ipyparallel import client
rc=Client(profile='default')
lv=rc.direct_view()
lv.map_sync(method,(0,1000,2000,3000),(1000,2000,3000,4000))
def method(a,b):
matrix=np.load('')#here I load the matrix
#the do all the work here and return desired values.
return answer