LoginSignup
4
6

More than 3 years have passed since last update.

囲碁AI Leela Zero/Liziee を MacBook で使う --cpu-only

Last updated at Posted at 2019-12-25

囲碁AIの Leela Zero を MacBook Air にインストールしたらうまくいかなかった話。--cpu-only で起動するのがコツです。

問題

  1. 一手、二手は動いているようだけどすぐに勝率が 1300万% になったりする
  2. 候補手がめちゃくちゃになって、数手で候補手も表示されなくなる

Screen Shot 2019-12-24 at 16.55.11.png

解決策

GPU を使わない --cpu-only オプションで起動する。Lizzie/config.txt のエンジンコマンドに --cpu-only を追加します。

手順

1. 前提

ターミナルでコマンドを打つこと、Homebrew は既知とします。政光順二先生のページ が丁寧です。

2. Leela Zero をインストール

これが囲碁AIの本体です。ソースコードからコンパイルしても難しくありませんが、homebrew からインストールできます。

$ brew install leela-zero

これでインストールされます。確認してみましょう:

$ leelaz
A network weights file is required to use the program.
By default, Leela Zero looks for it in /Users/junkoda/.local/share/leela-zero/best-network.

ネットワークとかウェイトと呼ばれるのは自己対戦で鍛えられたデータです。それがないよというエラーですが、Lizzie に付属しているので、とりあえずそれを使います。

どこにインストールされたかも確認しておきます:

3. Lizzie をインストール

3.1 Java SDK をインストール

Homebrew からも 「Java」 はインストールできますが、それは Open JDK で、Liziee の公式 README.txt によると、Open JDK では問題が起こることがあるので公式 JDK が奨励らしいです。Oracle のサイトから jdk-13.0.1_osx-x64_bin.dmg をダウンロードしてきてインストールしました。

3.2 Lizzie をダウンロード

Lizzie は Leela Zero の思考を可視化してくれるインターフェースです。棋譜 SGF ファイルを開いて検討したりできます。

Lizzie の GitHub にいきます。

執筆時の最新バージョンは 0.7.2 でした。Lizzie.0.7.2.Mac-Linux.zip をダウンロードして、ダブルクリックで解凍すると Lizzie というフォルダができます。

3.3 Lizzie の設定ファイルを編集

Lizzie/config.txt をエディタで開きます。engine-command というところを

 "engine-command": "/usr/local/bin/leelaz --cpu-only --gtp --lagbuffer 0 --weights network.gz",

のようにして上書き保存します。

変更点 1: ./leelaz から、homebrew がインストールした場所 /usr/local/bin/leelaz に変更。

Leela Zero がどこにあるかは which コマンドで確認できます。

$ which leelaz
/usr/local/bin/leelaz

変更点 2: --cpu-only を追加します。これが重要。これがないと、バグりました。

4. いざ実行

config.txt と同じ Lizzie/ にある lizzie.jar をダブルクリックします。「Appstore からダウンロードしていない野良ソフトは起動できません」と言われるので MacOS のシステム設定 → セキュリティ&プライバシィ から「かまわず実行」します(初回だけ)。Engine is loading... としばらく表示され、初回は特に長いかもしれませんが、5分はかからないはずです。学習データは付属しているので問題はないはずですが、学習データがなかったりすると無限に loading になることもあります。

マウス(トラックパッド)でポチポチ打ってみましょう。

Screen Shot 2019-12-25 at 07.50.19.png

真っ当な候補と勝率が表示される 😂

付録: 最新の学習ファイルを配置

Lizzie には学習データが付属していますが、Leela Zero は日々自己対戦を続け進化しているので、最新の学習データを手に入れることもできます。ここではとりあえず起動することを優先して割愛しました。

どの学習データを使うかは Lizzie/config.txt 内の --weights=network.gz で指定できます。既存の network.gz を上書きするのもアリです。

https://zero.sjeng.org をみると日々学習データが更新されています。
https://zero.sjeng.org/best-network が最新データでしょうか。

変更

2019-12-25: 最初は CPU_ONLY でコンパイルする方法を書いたのですが、--cpu-only で起動する方法に変更しました。CPU_ONLY でソースコードからコンパイルする方法は American Go Association (AGA) から http://www.aghs.cc/tutorials/leela/leela.php

4
6
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
4
6