2018年07月08日

棋譜分析専用ツール「GoReviewPartner」のインストールと使いかた - Windows編

SGF棋譜ファイルを分析するためのツールとして、「GoReviewPartner」というものがあります。
SGFファイルを指定したエンジンに分析させて、その結果をRSGFファイルへ出力し、RSGFファイルにふくまれた分析結果を表示するツールです。

「GoReviewPartner」プロジェクトページ
GitHubレポジトリ
Documentation Page

棋譜分析に使えるエンジンとして、いまのところ「AQ」「Leela」「Leela Zero」などを指定することができます。
「Leela Zero」エンジンを指定のうえ、「ELF OpenGo」の学習ずみネットワークを読みこませれば、「ELF OpenGo」による分析結果を見ることもできます。

1. 前提となる環境
インストールするコンピュータの仕様は以下のとおり。

--
Dell Inspiron 14 7472 Core i7モデル 18Q42P
OS:Windows10 Home 64bit
CPU:インテル Core i7-8550U (4Mキャッシュ、最大4.0GHz)
GPU:NVIDIA GeForce MX150 GDDR5 2GB
メモリー:8GB DDR4 2400MHz(最大16GB)
保存装置:128GB SSD + 1TB 5400rpm HDD
--

「GoReviewPartner」をインストールするにあたって必要とされる動作要件は、棋譜分析に利用するGTP囲碁思考エンジンの動作要件に準じます。

2. 「GoReviewPartner」インストールファイルのダウンロード
「GoReviewPartner」の現行バージョンは「v0.13」です。

2-1. GTP思考エンジンをべつに用意する場合
「Leela」「Leela Zero」「AQ」などのGTP囲碁思考エンジンがすでにインストールされている、もしくはこれからべつにインストールするのであれば、「Go Review Partner Home Page」の「Bundled download for Windows」表の一番下にある「No bot | Download」をクリックして、Windows用インストールファイル「goreviewpartner-v0.13.zip」を取得すればO.K.です。

2-2. GTP思考エンジンとセットでインストールする場合
GTP囲碁思考エンジンがインストールされてない場合は、思考エンジンの好み(日本ルールに強いとか置碁むけとか)とコンピュータのスペック(GPUの有無など)におうじて、おなじ表から適切なエンジンがバンドルされたパッケージをダウンロードします。

Leela 0.11 (CPU only): よくわからないときはとりあえずこれを選択。GPU非搭載コンピュータで問題なく動作し、さまざまな条件の碁(コミ、置石)をこなせる。
Leela 0.11 (GPU with OpenCL): 「OpenCL1.1」以上に対応したGPU搭載コンピュータで動作する。オーソドックスな棋風で、さまざまな条件の碁(コミ、置石)を高いレベルでこなす。置碁に最適。
Leela Zero 0.15 - 64bit」: NVIDIA製もしくはAMD製の外部GPU搭載コンピュータで動作する。中国ルールの碁に最適。学習ずみネットワークが更新されるメリットあり。
AQ 2.1.1 (GPU with Cuda): 「CUDA 3.0」以降に対応したNVIDIA製GPU搭載コンピュータで動作する。日本ルールの碁に最適。

3. 「GoReviewPartner」のインストール
GTP思考エンジンをべつに用意する場合は、「3-1.」手順完了後「4. 設定」をへて「5. 使いかた」へ、GTP思考エンジンとセットでインストールする場合は、「3-2.」手順完了後「4. 設定」を飛ばして「5. 使いかた」へすすんでください。

3-1. GTP思考エンジンをべつに用意する場合
ダウンロードした「goreviewpartner-v0.13.zip」ファイルを右クリックして「すべて展開」を選ぶと、「goreviewpartner-v0.13」フォルダができるので、そのフォルダの名前を「goreviewpartner」に変更しておきます。
この「goreviewpartner」フォルダのなかに棋譜分析ツールのインタフェースである「GoReviewPartner.exe」がふくまれているので、この「goreviewpartner」フォルダをそのまましかるべき場所(たとえば「C:\Users\username\goreviewpartner」など)に設置すれば、インストール作業は終了です。

3-2. GTP思考エンジンとセットでインストールする場合
思考エンジンがバンドルされたパッケージ、たとえば「AQ 2.1.1 (GPU with Cuda)」バンドルパッケージの場合、ダウンロードした「goreviewpartner-v0.13-AQ.zip」ファイルを右クリックして「すべて展開」を選びます。
「goreviewpartner-v0.13-AQ」フォルダができるので、そのフォルダの名前を「goreviewpartner」に変更のうえ、そのまましかるべき場所(たとえば「C:\Users\username\goreviewpartner」など)に設置します。
それによって、棋譜分析ツールのインタフェースである「GoReviewPartner.exe」は「C:\Users\username\goreviewpartner」フォルダに、囲碁思考エンジン本体である「AQ.exe」は「C:\Users\username\goreviewpartner\AQ」フォルダにインストールされます。
この状態で、すでに「AQ 2.1.1 (GPU with Cuda)」をもちいた棋譜分析ができるようになっているので、以下の「4. 設定」は飛ばして「5. 使いかた」へすすんでください。

4. 「GoReviewPartner」の設定
「GoReviewParter」で棋譜分析をおこなうにさいして、どの思考エンジンを使うかによって、設定内容がかわってきます。
以下では、「AQ」「Leela」「Leela Zero」のそれぞれについて、思考エンジンを登録するさい必要になる作業を記述します。

4-1. 「AQ」との連携
「C:\Users\username\goreviewpartner」フォルダを開き、「goreviewpartner.exe」をダブルクリックして「GoReviewPartner」を起動すると、メイン画面が表示されます。
なんらかの思考エンジンを登録しないと、「GoReviewPartner」で棋譜分析をおこなうことはできないので、「Settings」画面を開いて左のタブから「AQ」を選びます。
ここで「Command」欄に「AQ」実行ファイルのパスを、「Parameters」欄に「AQ」起動時に読みこませる設定ファイルを指定するオプションを、それぞれ入力します。
「Slow profile」「Fast profile」それぞれに対応する設定ファイル「aq_config_slow.txt」「aq_config_fast.txt」を、「AQ.exe」があるのとおなじ「C:\Users\username\AQ」フォルダに用意し、「-byoyomi[sec] =15」「-byoyomi[sec] =5」のように、考慮時間に差をつけておきます。

Slow profile parameters
Command: C:\Users\username\AQ\AQ.exe
Parameters: --config=C:\Users\username\AQ\aq_config_slow.txt

Fast profile parameters
Command: C:\Users\username\AQ\AQ.exe
Parameters: --config=C:\Users\username\AQ\aq_config_fast.txt


「Test」ボタンを押してGTP通信を開始し、「genmove black」「genmove white」などのGTPコマンドをためしてみてうまく動作するようなら、忘れずに「Save settings」ボタンを押して設定を保存します。

4-2. 「Leela」との連携
「C:\Users\username\goreviewpartner」フォルダを開き、「goreviewpartner.exe」をダブルクリックして「GoReviewPartner」を起動すると、メイン画面が表示されます。
なんらかの思考エンジンを登録しないと、「GoReviewPartner」で棋譜分析をおこなうことはできないので、「Settings」画面を開いて左のタブから「Leela」を選びます。
ここで「Command」欄に「Leela」実行ファイルのパスを、「Parameters」欄にGTPモードで起動するのに必要となるオプションを、それぞれ入力します。
「Time per move (s)」欄には、「Slow profile」「Fast profile」それぞれに、一手ごとの分析にかける秒数を指定します。

Slow profile parameters
Command: C:\Users\username\Leela0110GTP\Leela0110GTP_OpenCL.exe
Parameters: --gtp --noponder
Time per move (s): 15

Fast profile parameters
Command: C:\Users\username\Leela0110GTP\Leela0110GTP_OpenCL.exe
Parameters: --gtp --noponder
Time per move (s): 5


「Test」ボタンを押してGTP通信を開始し、「genmove black」「genmove white」などのGTPコマンドをためしてみてうまく動作するようなら、忘れずに「Save settings」ボタンを押して設定を保存します。

4-3. 「Leela Zero」との連携
「C:\Users\username\goreviewpartner」フォルダを開き、「goreviewpartner.exe」をダブルクリックして「GoReviewPartner」を起動すると、メイン画面が表示されます。
なんらかの思考エンジンを登録しないと、「GoReviewPartner」で棋譜分析をおこなうことはできないので、「Settings」画面を開いて左のタブから「Leela Zero」を選びます。
ここで「Command」欄に「Leela Zero」実行ファイルのパスを、「Parameters」欄にGTPモードで起動するのに必要となるオプションを、それぞれ入力します。
「Time per move (s)」欄には、「Slow profile」「Fast profile」それぞれに、一手ごとの分析にかける秒数を指定します。

Slow profile parameters
Command: C:\Users\username\leela-zero\leelaz.exe
Parameters: --gtp --noponder --weights best-network
Time per move (s): 15

Fast profile parameters
Command: C:\Users\username\leela-zero\leelaz.exe
Parameters: --gtp --noponder --weights best-network
Time per move (s): 5


「Leela Zero」の特徴として、自己対戦データを集積して学習を重ねることで強くなりつづけている、ということがあえられます。
定期的に「http://zero.sjeng.org/best-network」をおとづれて、あたらしい学習ずみネットワークを取得することによって、その特徴を楽しむことができます。
ダウンロードしたファイルを「best-network」という名前に変更し、「C:\Users\username\leela-zero」フォルダに設置すればO.K.です。
学習ずみネットワークを指定する「--weights best-network」部分で、「ELF OpenGo」の学習ずみネットワークを指定すれば、「ELF OpenGo」による棋譜分析結果を利用することもできます。
「Test」ボタンを押してGTP通信を開始し、「genmove black」「genmove white」などのGTPコマンドをためしてみてうまく動作するようなら、忘れずに「Save settings」ボタンを押して設定を保存します。

5. 「GoReviewPartner」の使いかた
GTP囲碁思考エンジンと連携させる設定が完了したら、いよいよ「GoReviewPartner」を使ってSGFファイルを分析することができるようになります。
「GoReviewPartner」を起動したあと、メイン画面から「Run a SFG file analysis」ボタンを押下し、分析にかけたいSGFファイルを指定します。
複数の思考エンジンを設定してある場合は、「Bot to use for analysis:」欄でじっさいの分析に使用するエンジンを選択することができます。
「Start」ボタンを押下すると、指定したエンジンを起動して棋譜分析がはじまりますが、けっこう時間がかかるのでゆっくりまちます。
棋譜分析が完了したら、分析したSGFファイルとおなじ場所に、おなじ名前で拡張子が「RSGF」になったファイルが生成されます。
「GoReviewPartner」メイン画面から「Open a RSGF file for review」を押下し、生成されたRSGFファイルを選択すれば、思考エンジンによって考察された内容を追跡していくことができるようになります。
左側の碁盤上でじっさいの手順を再現していくと、右側の碁盤上に思考エンジンが検討した候補手が表示され、候補手のどれかにカーソルを重ねることで変化手順を追いかけていくこともできます。


参考ウェブページ一覧表(順不同)

http://yuntingdian.com/goreviewpartner
https://github.com/pnprog/goreviewpartner
http://yuntingdian.com/goreviewpartner/grp-documentation/doc.htm


posted by hatakazu at 17:04| Comment(0) | 囲碁ソフトのこと | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。