複数のセルを含む IPython ノートブックがあり、いくつかのパラメーター (ノートブックのセル内で定義されている) の違いだけで、複数回並行して実行したいと考えています。それを行う最も簡単な方法は何ですか?
12 コアのワークステーションがあります。ノートブックを実行すると、コアの 1 つだけが使用されます。他のコアを使用して、まったく同じノートブックを実行したいのですが、いくつかのパラメーターを変更したいと考えています。出来ますか?
どうもありがとうございました
複数のセルを含む IPython ノートブックがあり、いくつかのパラメーター (ノートブックのセル内で定義されている) の違いだけで、複数回並行して実行したいと考えています。それを行う最も簡単な方法は何ですか?
12 コアのワークステーションがあります。ノートブックを実行すると、コアの 1 つだけが使用されます。他のコアを使用して、まったく同じノートブックを実行したいのですが、いくつかのパラメーターを変更したいと考えています。出来ますか?
どうもありがとうございました
実際、私はそれを行う方法を見つけました。
import multiprocessing
list_of_variables=something #a 2D numpy array with all your combinations of variable values,
#each row has a different combination of parameter values
number_of_combinations=shape(list_of_variables)[0] #number of rows
def notebook(i):
variables=list_of_variables[i,:]
#all your code here
pool = multiprocessing.Pool(processes=n) # Create a pool with n workers.
pool.map(notebook,range(number_of_combinations))
pool.close()
pool.join()
上記のコードのノートブックは、入力として数値を受け取り、この反復の変数値を取得し、すべての元のセルを実行する Python 関数です。