Многопроцессный процесс с joblib и Skimage: PicklingError: не удалось выбрать задачу для отправки ее работникамPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Многопроцессный процесс с joblib и Skimage: PicklingError: не удалось выбрать задачу для отправки ее работникам

Сообщение Anonymous »

Я пытаюсь распараллелить задачу поиска путей с минимальной стоимостью через растровую поверхность стоимости, но все время сталкиваюсь с той же ошибкой PicklingError: Не удалось выбрать задачу для отправки ее работникам.
Это пример кода того, что происходит:

Код: Выделить всё

import numpy as np
from skimage.graph import MCP_Geometric
import timeit
from joblib import Parallel, delayed

np.random.seed(123)
cost_surface = np.random.rand(1000, 1000)
mcp = MCP_Geometric(cost_surface)
pois = [(np.random.randint(0, 1000), np.random.randint(0, 1000)) for _ in range(20)]

def task(poi):
costs_array, traceback = mcp.find_costs(starts=[poi], ends=pois)
ends_idx = tuple(np.asarray(pois).T.tolist())
costs = costs_array[ends_idx]
tracebacks = [mcp.traceback(end) for end in pois]

Parallel(n_jobs=6)(delayed(task)(poi) for poi in pois)
Я новичок в распараллеливании задач, но код, который я запускаю, может занять недели, если выполнять его последовательно, и я хочу использовать параллельность. Я понимаю, что для некоторых сложных объектов травление невозможно, поэтому тоже ищу альтернативы.

Подробнее здесь: https://stackoverflow.com/questions/790 ... the-task-t
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»