python:joblib

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

python:joblib [2019/10/16 12:15] – 作成 mumeiyamibitopython:joblib [2019/10/16 12:16] (現在) mumeiyamibito
行 21: 行 21:
 results = Parallel(n_jobs = 4, verbose = 10)([delayed(worker)(i, n) for i, n in enumerate(x)]) results = Parallel(n_jobs = 4, verbose = 10)([delayed(worker)(i, n) for i, n in enumerate(x)])
 print(results) print(results)
--> [0, 1, 2] 
 </code> </code>
-  * ''n_jobs'': 並列実行数 (今回は ''4'')。''-1'' ですべてのコアを使う。 +    * ''n_jobs'': 並列実行数 (今回は ''4'')。''-1'' ですべてのコアを使う。 
-  * ''verbose'': 実行状況を表示する。数字は出力頻度。 +    * ''verbose'': 実行状況を表示する。数字は出力頻度。 
-  * ''worker'': 前に定義した並列処理したい関数の名前 +    * ''worker'': 前に定義した並列処理したい関数の名前 
-  * ''(i, n)'': 関数に与える引数 +    * ''(i, n)'': 関数に与える引数 
-  * この処理は、逐次処理すると、5 + 2 + 6 = 13 秒かかるが、並列処理しているので、最長の 6 秒しかかからない。 +  * 結果\\ <code python> 
-  * 結果は、リストに順次格納される。 +[0, 1, 2] 
-  * joblib は内部で、関数を pickle 化して計算するらしいので、pickle 化できない引数 (クラスなど) 与えたり、関数内でグローバル変数を利用したりすると、''Can't pickle ...'' というエラーが現れる。 +</code> 
-    * 参考サイト: [[https://qiita.com/yamasakih/items/ed806c1c46a56c1f884a | sqlalchemyで取り出したレコードをjoblibの引数にすると出るエラーへの対処 - Qiita]]+ 
 +    * この処理は、逐次処理すると、5 + 2 + 6 = 13 秒かかるが、並列処理しているので、最長の 6 秒しかかからない。 
 +    * 結果は、リストに順次格納される。 
 +    * joblib は内部で、関数を pickle 化して計算するらしいので、pickle 化できない引数 (クラスなど) 与えたり、関数内でグローバル変数を利用したりすると、''Can't pickle ...'' というエラーが現れる。 
 +      * 参考サイト: [[https://qiita.com/yamasakih/items/ed806c1c46a56c1f884a | sqlalchemyで取り出したレコードをjoblibの引数にすると出るエラーへの対処 - Qiita]]
  
 ===== 参考サイト ===== ===== 参考サイト =====
  • python/joblib.1571195708.txt.gz
  • 最終更新: 2019/10/16 12:15
  • by mumeiyamibito