LoginSignup
6
8

機械学習知識ゼロの囲碁キチが3か月で囲碁AIを作った話 ~GUI編~

Last updated at Posted at 2018-08-11

前回まで

機械学習知識ゼロの囲碁キチが3か月で囲碁AIを作った話 ~概要編~

機械学習知識ゼロの囲碁キチが3か月で囲碁AIを作った話 ~導入編~

機械学習知識ゼロの囲碁キチが3か月で囲碁AIを作った話 ~棋譜学習編~

機械学習知識ゼロの囲碁キチが3か月で囲碁AIを作った話 ~番外編~

概要

今回は、棋譜学習させて出来上がったモデルファイルをGUIで動かす方法について解説していきます。

手順

  1. Sabakiをインストール
  2. バッチファイルの作成
  3. Sabakiに囲碁AIを設定

Sabakiのインストール

囲碁AIをコマンドプロンプト上で動かせたけど、やっぱりネット碁みたいにグラフィカルな碁盤と碁石で動かしたい!

そこで登場するのがGUI(グラフィカルユーザインタフェース)です。

囲碁のGUIソフトはいくつかありますが、開発・更新が活発(2018/8/11時点)で、GUIも綺麗なSabakiを使っていきたいと思います。

それではまず、Sabakiのページを開き、releasesタブを開いてください。

開けたらSabakiの最新版をインストールしましょう。

ここで注意点があって、releases画面からインストールする際にOSがWindowsの64bitならsabaki-v0.35.1-win-x64-setup.exeを選択する必要があるということです。

Windowsの32bitならsabaki-v0.35.1-win-ia32-setup.exeを選択します。

後は画面に従っていけばインストールは完了です!

バッチファイルの作成

Sabakiのインストールが出来たら、次はSabaki上で動かすためのバッチファイルを書いていきます。
まず、お好きなテキストエディタで新規ファイルを作り、以下の一行を追記してください。

  • CPU版 持ち時間無し 1手3秒
    python pyaq.py --main_time=0 --byoyomi=3 --cpu

  • GPU版 持ち時間無し 1手3秒
    python pyaq.py --main_time=0 --byoyomi=3

追記できたら、ファイル名をstart.batにして Pyaqフォルダ直下に保存しましょう。

今後、囲碁AIの設定を変えたいときはstart.batを編集すればOKです!

Sabakiに囲碁AIを設定

やっとここまで来ました。Sabakiに囲碁AIの名前とパスを登録してGUIで動かしてみましょう!

まず、SabakiのEngineタブからManage Engines...を開いてください。開いた画面がプログラムの登録画面です。

開いたら左下のAddボタンを押してプログラム登録フォームを追加し、一番上の段に囲碁AIの名前、2段目に先ほど作ったbatファイルのフルパスを入力しましょう。

igo_AI_qiita1.png

これで囲碁AIをSabakiで使えるようになりました。

EngineタブからAttach...の順に開き、対戦者のところに先ほど登録した囲碁AIの名前を指定してOKボタンを押せば対戦が始まります!

[2024/02/02追記]
Sabakiのバージョンアップの影響(?)で対戦者のところに囲碁AIを指定しても自動的に対局が始まらなくなったようです。
キーボードのF10キーを押して着手を生成することで人間 対 AIで対局することが出来るようになります(エンジンメニューから着手を生成を選択してもOK)

igo_AI_qiita2.png

また、EngineタブからToggle GTP Consoleを開くと、対戦中に囲碁AIの思考ログを見ることができるのでオンにしておくことをオススメします。

igo_AI_qiita3.png

もし、エラーが出て対戦が始まらない場合は、学習がうまくいってないか、batファイルのパス指定が間違っている可能性が高いです。

あとがき

囲碁が好きすぎて機械学習という未知の世界に飛び込んでみましたが、非常に面白いですね!

囲碁AIを作り始めてから、これはスマホアプリに導入すると面白いんじゃないか、とか色々な可能性を発見できたことは非常に大きかったんじゃないかなと思っています。

なんといっても自分の棋譜だけを学習させたオレオレ囲碁AIとか楽しすぎる!!!

参考リンク

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8