轻松构建快速数据处理管道
pdp的Python项目详细描述
为什么?
机器学习、深度学习等领域的许多任务都需要复杂的数据处理,需要花费大量的时间。理想情况下,该处理应与主处理并行运行,准备数据以供使用(例如,通过神经网络)。pdp提供了一个简单的接口,用简单的块来组织数据处理管道,满足了最典型的需求。
用例
- 神经网络训练,你需要一种方法来训练网络,从磁盘加载数据并扩充它。pdp允许用户同时执行所有这些操作,而无需直接使用threading模块。
示例
存储在examples文件夹中
快吗?
速度和并行执行是重中之重。现在线程被用来在pipline阶段之间交换信息,因为在线程之间而不是进程之间交换数据是内存和cpu效率高的。python的线程有gil的缺陷,但它不会影响io绑定任务和numpy操作的性能。由于所有数据扩充操作都可能在numpy操作中完成,因此gil不会对性能产生显著影响。
安装
pip install pdp