水上_backup/技術資料/Daskによる並列分散処理
の編集
Top
/
水上_backup
/
技術資料
/
Daskによる並列分散処理
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
島部/menu/template
[[水上/技術資料]] ---- 目次 #contents ---- *目標 [#z00fd092] Dask.distributeを使ってプログラムの高速化を目指します。 *環境 [#h82a02b0] Python 3.10.1 64bitでやってますが,たぶんどのバージョンもできるはず... &br; pythonインストールは[[こちら>https://www.python.org/]] *Daskについて [#h82a02b0] **daskとは [#h82a02b0] 参考に↓ &br; https://qiita.com/simonritchie/items/e174f243bc03fb25462e &br; https://distributed.dask.org/en/stable/ ** 下準備[#h82a02b0] ** schedule側とworker側について[#h82a02b0] daskは、処理を支持する「schedule側」と、処理をする「worker側」に分かれる。イメージは以下の通り。&br; #ref(ヘイレツ.png,,320x180) *手順 [#h82a02b0] **schedule側とworker側のとの通信の下準備 [#h82a02b0] まずdask、distributedをインストール(schedule側、worker側の両方) バージョンはschedule側とworker側でそろえておいたほうがいいのでバージョン指定をしてインストール pip install dask==2022.11.1 pip install distributed==2022.11.1 **1.scheduler側ですること [#h82a02b0] ・scheduler側で使用する「Wireless LAN adapter Wi-Fi:」の物理アドレスを確認する。(後から使います) &br; →コマンドプロンプトを開いて「ipconfig」と入力すると確認することができるよ &br; #ref(siu2.png,,567x147) コマンドプロンプトを開いて「dask-scheduler」と入力する。 &br; ↓このように表示されたら成功です #ref(daskzu1.png,,) この状態で待機です &br; **2.worker側ですること [#h82a02b0] コマンドプロンプトを開いて、「dask-worker {tcp}:8786」と入力する。&br; {tcp}には先ほど確認したscheduler側のwifiの物理アドレスを入力する) &br; ↓これはscheduler側のwifiの物理アドレスが「192.168.3.12」の時の入力例です。入力したときにこのようになれば成功です #ref(daskzu3.jpg,,567x147) 接続が成功したらscheduler側の画面がこのようになります。(赤色の部分にworker側の物理アドレスが書いてある) &br; #ref(daskzu5.png,,567x147) これを分散したいworker分行ってください。 &br; 接続状態になれば準備完了です。scheduler側でプログラムを動かしてください。 &br; **エラーの対処[#h82a02b0] ・「dask-worker」および「dask-scheduler」と入力しても「内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません」と表示されるとき &br; →「dask」「distributed」のpathが通ってない可能性がある。&br; dask-workerを使うときは、pathを通す。 &br; ・dask-workerおよびdask-schedulerが通信できなかった場合&br; ファイアウォールがオンになっているとpc同士で通信できないので、ファイアーウォールを一時的にオフにしておく。(schedule側、worker側の両方) windowsの場合&br; https://faq.nec-lavie.jp/qasearch/1007/app/servlet/qadoc?QID=011761 &br; macの場合&br; https://aprico-media.com/posts/3083#:~:text=Mac%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%82%A2%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%AB%E3%82%92%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%80%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%82%A2%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%AB%E3%82%92%E3%82%AA%E3%83%95%E3%81%AB%E3%81%99%E3%82%8B%E3%80%8D%E3%81%AE%E3%83%9C%E3%82%BF%E3%83%B3%E3%82%92%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%81%97%E3%81%BE%E3%81%97%E3%82%87%E3%81%86%E3%80%82,%E3%81%93%E3%82%8C%E3%81%A7%E3%81%99%E3%81%90%E3%81%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%82%A2%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%AB%E3%81%8C%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82 *実験 [#bb5c41a2] *参考文献 [#ddfa4bf2] ↓dask.distributedで分散処理 &br; https://catindog.hatenablog.com/entry/2018/03/28/164320
タイムスタンプを変更しない
[[水上/技術資料]] ---- 目次 #contents ---- *目標 [#z00fd092] Dask.distributeを使ってプログラムの高速化を目指します。 *環境 [#h82a02b0] Python 3.10.1 64bitでやってますが,たぶんどのバージョンもできるはず... &br; pythonインストールは[[こちら>https://www.python.org/]] *Daskについて [#h82a02b0] **daskとは [#h82a02b0] 参考に↓ &br; https://qiita.com/simonritchie/items/e174f243bc03fb25462e &br; https://distributed.dask.org/en/stable/ ** 下準備[#h82a02b0] ** schedule側とworker側について[#h82a02b0] daskは、処理を支持する「schedule側」と、処理をする「worker側」に分かれる。イメージは以下の通り。&br; #ref(ヘイレツ.png,,320x180) *手順 [#h82a02b0] **schedule側とworker側のとの通信の下準備 [#h82a02b0] まずdask、distributedをインストール(schedule側、worker側の両方) バージョンはschedule側とworker側でそろえておいたほうがいいのでバージョン指定をしてインストール pip install dask==2022.11.1 pip install distributed==2022.11.1 **1.scheduler側ですること [#h82a02b0] ・scheduler側で使用する「Wireless LAN adapter Wi-Fi:」の物理アドレスを確認する。(後から使います) &br; →コマンドプロンプトを開いて「ipconfig」と入力すると確認することができるよ &br; #ref(siu2.png,,567x147) コマンドプロンプトを開いて「dask-scheduler」と入力する。 &br; ↓このように表示されたら成功です #ref(daskzu1.png,,) この状態で待機です &br; **2.worker側ですること [#h82a02b0] コマンドプロンプトを開いて、「dask-worker {tcp}:8786」と入力する。&br; {tcp}には先ほど確認したscheduler側のwifiの物理アドレスを入力する) &br; ↓これはscheduler側のwifiの物理アドレスが「192.168.3.12」の時の入力例です。入力したときにこのようになれば成功です #ref(daskzu3.jpg,,567x147) 接続が成功したらscheduler側の画面がこのようになります。(赤色の部分にworker側の物理アドレスが書いてある) &br; #ref(daskzu5.png,,567x147) これを分散したいworker分行ってください。 &br; 接続状態になれば準備完了です。scheduler側でプログラムを動かしてください。 &br; **エラーの対処[#h82a02b0] ・「dask-worker」および「dask-scheduler」と入力しても「内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません」と表示されるとき &br; →「dask」「distributed」のpathが通ってない可能性がある。&br; dask-workerを使うときは、pathを通す。 &br; ・dask-workerおよびdask-schedulerが通信できなかった場合&br; ファイアウォールがオンになっているとpc同士で通信できないので、ファイアーウォールを一時的にオフにしておく。(schedule側、worker側の両方) windowsの場合&br; https://faq.nec-lavie.jp/qasearch/1007/app/servlet/qadoc?QID=011761 &br; macの場合&br; https://aprico-media.com/posts/3083#:~:text=Mac%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%82%A2%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%AB%E3%82%92%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%80%8C%E3%83%95%E3%82%A1%E3%82%A4%E3%82%A2%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%AB%E3%82%92%E3%82%AA%E3%83%95%E3%81%AB%E3%81%99%E3%82%8B%E3%80%8D%E3%81%AE%E3%83%9C%E3%82%BF%E3%83%B3%E3%82%92%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%81%97%E3%81%BE%E3%81%97%E3%82%87%E3%81%86%E3%80%82,%E3%81%93%E3%82%8C%E3%81%A7%E3%81%99%E3%81%90%E3%81%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%82%A2%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%AB%E3%81%8C%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82 *実験 [#bb5c41a2] *参考文献 [#ddfa4bf2] ↓dask.distributedで分散処理 &br; https://catindog.hatenablog.com/entry/2018/03/28/164320
テキスト整形のルールを表示する