以下のコードを使用して、numpy配列の処理を並列化します。この場合のターゲット関数は、入力データに対して単純な線形ストレッチを実行します。配列はセグメント化されてから、チャンクでプールに送られます。これは、Python投稿を使用した多数の並列処理のおかげで非常にうまく機能しています。
pool = [multiprocessing.Process(target=linear_stretch, args= (shared_arr,slice(i, i+step), 35, 200, 2.0)) for i in range (0, y, step)]
私の質問は、次のようなことをすることは可能ですか?
stretch = Linear.linear_stretch()
関数のオブジェクトを作成し(語彙を修正してください!)、multiprocessing.Processで呼び出します。
関数が存在するモジュールは現在次のようになっています。
Linear.py
import numpy
def linear_stretch(args):
#Do some stuff