多机Clus上的分布式Python

2024-09-30 01:27:41 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是要求-:

class MultiMachineDoWork:

    def Function1(self, A, B):  
        return A+B

    def Function2(self, A, B):  
        return A*B 

    def Function3(self, A, B):  
        return A**B  

    def Function4():  
        X = MultiMachineDoWork.Function1(5,10)
        Y = MultiMachineDoWork.Function2(5,10)
        Z = MultiMachineDoWork.Function3(5,10)
        return X+Y+Z

假设Function1、Function2和Function3各自花费很长时间,那么最好在分布式模型上分别在机器L、M&N上并行运行它们。 函数4可以在P机上运行,它可以收集结果并进行组合。在

MapReduce的工作原理与之类似,但对数据的不同部分运行相同的函数。。。 Dask/Ray/芹菜在这个案例研究中有什么用处吗。。。在

如果必须构建自定义解决方案,解决方案应该如何进行。。。在

Pydoop/Spark与Dask本地群集?在


现实生活案例研究-ML的集成模型分类。一函数用于RandomForest,一个用于支持向量,一次用于XG增压。全部在同一数据集上运行。。。在


Tags: 数据函数模型selfreturndef解决方案案例
1条回答
网友
1楼 · 发布于 2024-09-30 01:27:41

可以使用python中的各种框架跨多个机器/节点分布任务/功能/计算。最常见和最广泛使用的是Ray、Dask和PySpark,使用哪一种取决于用例。在

对于简单的函数/任务分布,可以使用光线库(@射线遥控器)分发,然后使用get方法集成/计算结果。同样可以通过达斯克实现。在

https://rise.cs.berkeley.edu/blog/modern-parallel-and-distributed-python-a-quick-tutorial-on-ray/

我更喜欢Spark/Pyspark,当您处理一个大型数据集时,您希望执行某种ETL操作,以便将巨大的数据集分布在多个节点上,然后对其执行一些转换或操作。注意Spark或mapreduce概念假设您将计算引入数据,它将在不同的数据子集上执行相同/相似的任务,并最终执行一些聚合(包括洗牌)。在

Spark/Pyspark通过其内置的随机森林或梯度提升树算法支持集成。但是spark(开箱即用)目前不支持在单独的节点/执行器上训练独立的模型(随机森林、梯度树、logistic回归等)。尽管这可能是通过定制的spark代码实现的,就像他们在内部为random forest(训练多个决策树)所做的那样。在

使用dask和sklearn可以很容易地实现真实场景的感知。Dask与scikit learn xgboost等集成良好,可以使用joblib context manager跨分布式集群节点/工作线程执行并行计算。在

现在对于集成场景,您可以使用scikit learn的不同模型/算法(random forest、SGD、SVM、Logistic回归),并使用投票分类器将多个不同的模型(即子估计量)组合成一个单独的模型,该模型(理想情况下)比任何单独的模型(即集成概念的基础)更强大。在

使用Dask将在集群中的不同机器上训练单独的子估计器/模型。在

https://docs.dask.org/en/latest/use-cases.html

高级代码看起来像-

classifiers = [
    ('sgd', SGDClassifier(max_iter=1000)),
    ('logisticregression', LogisticRegression()),
    ('xgboost', XGBClassifier()
    ('svc', SVC(gamma='auto')),
]
clf = VotingClassifier(classifiers) 

with joblib.parallel_backend("dask"):
    clf.fit(X, y)

**以上可以通过Ray等其他分布式框架实现/火花等同样,但它需要更多的定制编码。在

希望这些信息对你有帮助!在

相关问题 更多 >

    热门问题