Я пытаюсь выполнить многопроцессорную обработку 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)
, но, похоже, ничего не работает.