Python 并行脚手架

10次阅读

共计 434 个字符,预计需要花费 2 分钟才能阅读完成。

做 data preprocessing 和跑批量任务的时候经常会遇到下面的情况:

  • 单 Python 进程根本跑不快,需要 multiprocess
  • 因为可能会意外退出,所以要写一个 cache 的检查逻辑之前是不是执行过,执行过就跳过
  • 每次都是复制粘贴以前类似的代码,但修修改改很容易改错
  • 如果上 PyTorch 的话先要 spawn process 重新 load 模型,还得分数据,烦不胜烦

为解决上述烦恼,做了一个并行框架,项目地址:https://github.com/JeffersonQin/akasaka

代码非常简单但重在实用,已发布 PyPi。

例子:https://github.com/JeffersonQin/akasaka/blob/master/examples/print.py

还支持 PyTorch CUDA 的 spawning, 在多卡集群上,用户可以只提供 load_model, get_dataloader, execute() 函数,即可多卡自动数据分割 + 并发执行,一步到位解决重复劳动

正文完