BrokenPipeError, когда массив numpy передается в качестве аргумента многопроцессорному процессу Python - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь выполнить многопроцессорную обработку Python, где один из аргументов в Process является выходным результатом импортированной функции (массива numpy).Это однако дает BrokenPipeError.Однако, если бы я вычислял массив в основном коде напрямую и передавал его в качестве аргумента, процесс работал бы нормально.Таким образом, код имеет вид:

from multiprocessing import Process
import personalmodule

X = personalmodule.getdata()

def someotherfunction(X):
    return X

if __name__ == '__main__':
    process = Process(target=someotherfunction, arg(X,))
    process.start()

Эта программа будет работать нормально, если X будет получен в этом файле напрямую.Я уже пробовал такие вещи, как передать X2 = np.copy(X), но, похоже, ничего не работает.

...