如何在分布式TensorFlow中并行化Python复杂输入流水线?
多进程+队列优化Python复杂输入流水线的实战经验
我之前搭建过一个基于Python的复杂输入流水线,核心工作是读取ground truth与原始数据,并执行一系列预处理操作。但单样本运行的耗时很长,严重拖慢了整体训练节奏。
为了解决这个问题,我采用了Python的multiprocessing包做多进程并行处理,配合队列机制实现数据预取——让多个进程同时处理数据,把预处理完成的结果提前存入队列,训练循环需要数据时直接从队列中获取,最后通过feed_dict将处理好的数据送入模型。
调整后,训练循环中的数据处理开销比原来低了两个数量级,训练效率得到了大幅提升!
内容的提问来源于stack exchange,提问作者Guy Zohar
相关产品推荐
相关产品推荐

