Nano Hash - криптовалюты, майнинг, программирование

Как я могу перечислить запущенные процессы с помощью Dask?

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

import dask
import dask.multiprocessing
import dask.dataframe as dd
import pandas as pd
import time

dask.set_options(get=dask.multiprocessing.get)

start = time.time()

df = dd.from_pandas(pd.DataFrame(data={'a': list(range(10))}), npartitions=4)
df['a'].apply(lambda x: time.sleep(2))

end = time.time()

print(f'time elapsed: {end - start}')

Я использую многопроцессорный планировщик, потому что ожидал, что процессы появятся в вызове ps aux | grep python в отдельной оболочке. Однако я их не вижу. Есть ли в демонстрационных целях способ перечислить все процессы, которые использует dask?

Для справки, я вижу улучшение в прошедшем времени. Реализация pandas (здесь не показана) занимает 20 секунд, а версия dask — 4 секунды. Однако, учитывая тот факт, что я использовал 4 раздела, я ожидал, что потребуется 5.

05.06.2018

Ответы:


1

Если вы используете многопроцессорный планировщик, Dask создает и уничтожает multiprocessing.Pool при каждом вызове compute.

Для демонстрации я обычно использую распределенный планировщик на одном компьютере. , который включает в себя удобную панель инструментов со страницами, показывающими процессы, действия и т. д.

$ pip install dask[complete] bokeh
or
$ conda install dask bokeh

Затем

from dask.distributed import Client
client = Client()

# navigate to http://localhost:8787/status
05.06.2018
  • Спасибо. Я все еще не вижу особых изменений, когда запускаю код, который я разместил в своем вопросе, но, возможно, использование time.sleep() не является хорошим подходом. 05.06.2018
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..