为我的ML模型处理批次需要太多时间,所以我正在考虑将它们并行化。Python:并行化GPU和CPU工作
现在预处理程序从SSD获取数据,进行预处理并形成一个数据结构以供学习。所有这一次ML培训过程等待。然后ML过程获取这些数据并用它来训练模型。现在预处理等待。然后他们转过身来。这个等待时间很快加总,并延误模型训练。
该计划如下:单个数据结构将存储一堆数据点。训练算法的每一步都将采用它们的随机子集来训练模型(SGD中包含GPU上的TensorFlow)。
与此同时,我希望另一个线程对下一串数据点进行预处理。当预处理准备就绪时,它将用新的数据结构对象代替旧的数据结构对象。等等。
由于这是我在Python中进行并行化的第一种方法,我不知道这是否可行。全局解释器锁会阻止系统以真正并行的方式执行这些任务吗?