Я прочитал немало вопросов о SO о совместном использовании массивов, и это кажется простым для простых массивов, но я застреваю, пытаясь заставить его работать для массива, который у меня есть.
import numpy as np
data=np.zeros(250,dtype='float32, (250000,2)float32')
Я попытался преобразовать это в общий массив, пытаясь как-то сделать mp.Array
принять data
, я также попытался создать массив с использованием ctypes как такового:
import multiprocessing as mp
data=mp.Array('c_float, (250000)c_float',250)
Единственный способ, которым мне удалось заставить работать мой код, - это не передавать данные в функцию, а передавать закодированную строку, которая должна быть несжатой/декодированной, но это будет в конечном итоге в n (число строк) процессов, вызываемых, которые кажутся излишними, Моя желаемая реализация основана на нарезке списка двоичных строк на x (количество процессов) и передаче этого фрагмента, data
и index
для процессов, которые работают, за исключением того, что data
изменяется локально, поэтому вопрос о как сделать его общедоступным, любой пример, работающий с настраиваемым (вложенным) массивом numpy, уже будет большой помощью.
PS: Этот вопрос является продолжением многопроцессорной обработки Python