跳转到主要内容

并行机器学习实验工具

项目描述

# Pyrallel - Python中的并行数据分析

概述:一个实验性项目,旨在研究机器学习和其他半交互式数据分析任务的分布式计算模式。

范围:

  • 关注适合在小型(10+节点)到中型集群(100+节点)内存中运行的中小型数据集。

  • 关注中小型数据(尽可能实现数据局部性)。

  • 关注CPU密集型任务(例如,训练随机森林),同时尽量减少磁盘/网络访问。

  • 目前不关注高可用性/容错性。

  • 目前不尝试发明一组新的高级编程抽象(尚不):使用低级编程模型(IPython.parallel)来精细控制集群元素和传输的消息,并帮助确定分布式机器学习设置中实际的基本限制。

免责声明:该库的公共API可能不会很快稳定,因为当前目标是进行实验。

## 依赖项

常规嫌疑人:Python 2.7,NumPy,SciPy。

从以下位置获取开发版本(master分支):

StarCluster develop 分支及其 IPCluster 插件也是必需的,以便轻松启动带有IPython.parallel设置的节点。

## 当前正在调查的模式

  • 异步和随机超参数搜索(也称为随机网格搜索)用于机器学习模型

  • 通过内存映射文件高效地在节点间共享数值数组,使它们可供并发运行的Python进程使用,而无需在内存中复制。

  • 分布式随机森林拟合。

  • 集成异构库模型。

  • 使用MPI AllReduce并行实现在线平均模型,例如在分区数据上使用MiniBatchKMeans。

有关更多详细信息,请参阅< cite> examples/ 文件夹的内容。

## 许可证

简化版BSD。

## 历史

该项目始于2012年PyCon PyData冲刺[PyCon 2012 PyData冲刺](http://wiki.ipython.org/PyCon12Sprint),作为一套概念验证[IPython.parallel脚本](https://github.com/ogrisel/pycon-pydata-sprint)。

由以下组织支持