2

私は実行速度が非常に遅いニューラル ネットワークをコーディングしたので、特定のループを並列化することで少し速度を上げたいと考えていました。

実装とGILの仕組み、そしてそれが私に関係があるかどうかはわかりません。

コードは次のようになります。

class net():
    def train(inputs)
        ...
        for tset in batch:
            self.backprop(tset, learn_rate)

    def backprop(inputs):
        ...
        for c, w in zip(n.inconnections, range(len(n.inconnections))):
            c.current_error += n.current_error * n.inconnectionweights[w]
            n.icweightupdates[w] += - learn_rate * n.current_error * c.activation
        n.biasupdate += -learn_rate * n.current_error

ループは、独立して処理できる一連のトレーニング サンプル (20) が含まれてtrain()いるため、並列化したいループです。batch

4

2 に答える 2