Из за l oop по диктату многопроцессорной - PullRequest
0 голосов
/ 27 марта 2020

У меня есть словарь 4 pandas.DataFrame, где я l oop, чтобы наконец получить модель ML. Было бы более эффективно распараллелить процесс и создать 4 модели одновременно.

Какой наилучший подход, используя multiprocessing или некоторую функцию Dask (например, multi pd.DataFrame с dask.DataFrame) ?

for key, df in ready_df_dict.items():
    produce_ml_model(df)

РЕДАКТИРОВАТЬ: я могу изменить формат ввода с dict на что-то другое, если он умнее.

1 Ответ

1 голос
/ 27 марта 2020

См. Вводный пример для пользовательских рабочих нагрузок по адресу https://examples.dask.org/delayed.html, возможно, для самого простого ответа. Решение может выглядеть следующим образом:

from dask import delayed, compute

out = [delayed(produce_ml_model)(df)
       for df in ready_df_dict.values()]

compute(out)

Обратите внимание, что при вызове compute вы можете выбрать, какой планировщик использовать.

...