在Python中多线程处理for循环

时间:2016-04-27 04:42:49

标签: python multithreading

我在Python中有一个for循环:

def layerOneBackprop(l, a):
    for x in range(len(l.weights)):
        for y in range(len(l.weights[x])):
            l.weightDelta[x][y] = a.weightDelta[0][x] * a.weights[0][x] * dSigmoid(l.layerOut[x])
            dW = l.inVals[y] * l.weightDelta[x][y]  
            l.weights[x][y] = l.weights[x][y] - (learningRate * dW)

我目前的问题是这个循环(实际上是整个函数)非常慢,因为每次调用需要将近30-40秒。我希望并行化这个功能将有助于它在我的服务器上运行得更快。如何在Python中完成?

我见过线程实现,但我也读过Python的GIL可能会导致我的代码基本上变成单线程。如果没有这些问题,怎么能实现呢?

0 个答案:

没有答案