2018年05月25日

「GoGui」で「ELF OpenGo」を思考エンジンとして使う

「ELF OpenGo」を「~/ELF」以下にインストールし、「pretrained-go-19x19-v0.bin」を「~/ELF/bin/pretrained-go-19x19-v0.bin」に設置したとして、けっきょくのところ以下の方法で「GoGui」から「ELF OpenGo」を思考エンジンとして使うことができるようになりました。

$ cd /home/username/ELF/
$ source scripts/devmode_set_pythonpath.sh
$ cd /home/username/ELF/scripts/elfgames/go/
$ gogui


そうして起動した「GoGui」メニューバーから「プログラム」 -> 「新規プログラム」とすすんで、「コマンド:」欄に以下のコマンドを入力します。

/home/username/ELF/scripts/elfgames/go/gtp.sh /home/username/ELF/bin/pretrained-go-19x19-v0.bin --verbose --num_block 20 --dim 224 --mcts_puct 1.50 --batchsize 16 --mcts_rollout_per_batch 16 --mcts_threads 2 --mcts_rollout_per_thread 100 --resign_thres 0.05 --mcts_virtual_loss 1


「OK」ボタンを押すと、しばらくして警告メッセージが表示されますが、それは今後表示されないようにして閉じてしまいます。
すると今度は、「プログラムが反応していません、待ちますか、それともプログラムを終了しますか」という画面があらわれます。
ここで「待つ」を選択すると、新規プログラムのラベルを編集する画面になるので、「OK」を押して画面を閉じます。
ここまでで、「GoGui」から呼びだす思考エンジンとして、「ELF OpenGo」が登録されています。
あとは「GoGui」から「ELF OpenGo」を起動、プログラムの手番や置石などの条件を決めて新規対局を開始すれば、「ELF OpenGo」との対局を楽しめるようになります。

「GoGui」をランチャーなどから起動した場合でも「ELF OpenGo」を使えるようにしたい場合は、以下の内容を記述したスクリプトを作成してそれを「~/ELF/ELF-OpenGo.sh」として保存、実行権限を付与したうえで「GoGui」の新規プログラム画面で「/home/username/ELF/ELF-OpenGo.sh」コマンドを指定してやればO.K.です。

#!/bin/bash
cd /home/username/ELF/
source scripts/devmode_set_pythonpath.sh
cd /home/username/ELF/scripts/elfgames/go/
./gtp.sh /home/username/ELF/bin/pretrained-go-19x19-v0.bin --verbose --num_block 20 --dim 224 --mcts_puct 1.50 --batchsize 16 --mcts_rollout_per_batch 16 --mcts_threads 2 --mcts_rollout_per_thread 100 --resign_thres 0.05 --mcts_virtual_loss 1


「ELF OpenGo」と対局してみたいとはいっても、ターミナル上でGTPコマンドを打ち込むのはたいへんなので(というかまったくやる気になれないので)、なんとかGUIで打てるようになってよかったです。


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

https://github.com/pytorch/ELF/issues/27
https://github.com/pytorch/ELF/issues/33
posted by hatakazu at 22:13| Comment(0) | 囲碁ソフトのこと | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください
×

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