12
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Leela Zero を Mac で動かす

Last updated at Posted at 2018-08-01

Leela Zero は、Alpha GO Zero の論文を参考に開発されている、人間による知識を与えられないで作られた囲碁のプログラムです。
macOS で Leela Zero を動かすのに少しだけ手間取ったので、オープンソースにあまり慣れてない人のヒントになるように記してみます。(ターミナルとはなんぞや?レベルの方は、「macos ターミナル 使い方」あたりで Google 検索してみてください。)

ただし、この内容は2018年8月現在の記事なので、将来的にこの手順では動かなくなる可能性もあります。

#必要なプログラム

  • Leela Zero 囲碁AI本体
  • Sabaki 豊富な機能を持つ棋譜ソフト。ここでは対戦用の UI として使う。
  • LeelaSabaki Sabaki と Leela Zero を結びつけるためのプログラム

#手順

Leela Zero のインストール

ターミナル.app を立ち上げ、README.mdにあるようにインストールすればいいです。

# github 上のリポジトリからソースコードを clone
git clone https://github.com/gcp/leela-zero
cd leela-zero/src
git submodule update --init --recursive

# boost と cmake を Homebrew 経由でインストール
brew install boost cmake

# コンパイル
make
cd ..

# ネットワーク(AIの中身)をダウンロード
curl -O http://zero.sjeng.org/best-network

brew コマンドが入ってなくてエラーがでる人は、こちらを参照してインストールしましょう。 xcrun が見つからないとか、言われる場合には

xcode-select --install

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

というふうに、xcode からインストールしないとだめかも。
ちなみに、LeelaSabaki を使う場合は autogtp はコンパイルしなくてもOK。

インストールができたら

src/leelaz --weights best-network

というコマンドで、なにやら動くのを確認できるはず。

##Sabaki のインストール
https://sabaki.yichuanshen.de/ から、sabaki-v0.*.*-mac-x64.7z というような Mac 用のファイルをダウンロードします。
7z という圧縮フォーマットは少し特殊なので、手元のソフトウェアで伸長できないときは、

brew install p7zip
7z x sabaki-v0.*-mac-x64.7z

というように伸長。Sabakiは実行形式のアプリケーションで配布されているので、これだけでOKです。

##LeelaSabaki のインストール

cd ~
# npm コマンドのために、Homebrew で node.js をインストール
brew install node

# LeelaSabaki のダウンロード
git clone https://github.com/SabakiHQ/LeelaSabaki.git
cd LeelaSabaki

# LeelaSabaki のビルド
npm install
npm run build

インストールできたら

$ ./leelasabaki --heatmap <path-to-leela> --weights=<path-to-network> --noponder --playouts 100

とかすると、なにか動くのが見えるはず。
path-to-leela は、上にインストールしたLeelaの実行ファイルへのパス。たとえば、上の手順をそのまま実行した場合、macOSのユーザー名が XXX だとすると、 <path-to-leela> は "/Users/XXX/leela-zero/src/leelaz"、 <path-to-network> は "/Users/XXX/leela-zero/best-network" になるはず。

Sabaki の起動と設定

Sabaki を起動します。
Engines > Manage Engine...を選択し、新しい項目を Add します。

  • (Unnamed Engine) → 名前なので、適当に Leela Zero とでも
  • Path → /Users/XXX/leela-zero/src/leelaz
  • No arguments → --weights=/Users/XXX/leela-zero/best-network --noponder --playouts=100

sabaki.png

設定を Close して、 File > New から、Black または White に Leela-Zero を選んで、対決開始。

Engine > Toggle GTP Console を入れると、Sabaki と  Leela Zero の通信を見られます。

runnning.png

playout の値を大きくすると、AIの計算量が増えて、強くなります。(その分、推論に時間がかかる。)

以上です。

12
7
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
12
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?