为我的ML模型处理批次需要太多时间,因此我正在考虑将它们并行化。
现在,预处理例程从SSD提取数据,进行预处理并形成用于学习的数据结构。一直以来,机器学习训练过程都在等待。然后,机器学习过程将获取这些数据,并使用它来训练模型。现在预处理等待。然后他们绕过去。这个等待时间很快就会总结出来,并延迟了模型训练的时间。
该计划如下:单个数据结构将存储一堆数据点。训练算法的每个步骤都会采用其中的随机子集来训练模型(在GPU上使用TensorFlow进行SGD)。
与此同时,我希望另一个线程对下一组数据点进行预处理。当预处理准备就绪时,它将用新的替换旧的数据结构对象。依此类推。
因为这是我在Python中进行并行化的第一种方法,所以我想知道这是否行得通。全局解释器锁定是否会阻止系统以真正的并行方式执行这些任务?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句