射线还是dask?数据科学家的实用指南

Ray和Dask是通过同时执行多个任务来帮助数据科学家工作速度更快工作的工具。本文将向您展示主要区别,并帮助您为机器学习项目选择正确的一个。

来源:KDnuggets
作者的图像|意识形态图

作为数据科学家,我们处理需要大量时间运行的大型数据集或复杂模型。为了节省时间并更快地实现结果,我们利用工具可以同时或跨多个计算机执行任务。这两个流行的Python库是Ray和Dask。两者都有助于加快数据处理和模型培训,但它们用于不同类型的任务。

射线 dask

在本文中,我们将解释Ray和Dask是什么以及何时选择每个。

#什么是Dask和Ray?

dask是用于处理大量数据的库。它旨在以一种让熊猫,numpy或scikit-learn的用户感到熟悉的方式工作。 Dask将数据和任务分解为较小的部分,并并行运行。这对于希望在不学习许多新概念的情况下扩展数据分析的数据科学家来说是完美的。

pandas numpy Scikit-Learn

Ray是一种更通用的工具,可帮助您构建和运行分布式应用程序。它在机器学习和人工智能任务中尤其强大。

Ray在其顶部还建立了额外的库,例如:

    用于调整机器LearningRay在多个GPUSRARY上的培训模型中调整超参数的射线调子,以部署模型作为Web服务
  • 用于调整机器学习中超参数的射线曲调
  • 射线曲调
  • 在多个GPU上进行培训模型的射线火车
  • 射线火车
  • 雷服务以部署模型为Web Services
  • 射线服务

    ,如果您想构建可扩展的机器学习管道或需要并行运行复杂任务的AI应用程序,则很棒。

    #功能比较

    基于核心属性的Dask和Ray的结构化比较:

    特色askray 功能 主要抽象Dataframes,阵列,延迟任务函数,参与者 主要抽象 数据框,数组,延迟任务 远程功能,参与者 最佳可尺度数据处理,机器学习管道分布的机器学习培训,调整和服务 最适合 可扩展数据处理,机器学习管道 xgboost