囲碁AIのLizzieとleela-zeroの組合せで動作検証(CPU版)
1.概要
囲碁AIのLizzieをネットで見つけて、Lizzieは日本棋院でも活用されているようなので動かしてみようと考えました。Lizzieはアルファゼロ方式のDeepLearningを利用した製品です。UI部分はJava、エンジン部分はC、学習済みのモデルは同梱されており、Windows環境ではすぐに利用できます。Ubuntuではエンジン部分のBuildが必要です。今回は、まず、CPU環境での構築に関して記述します。
2.詳細
(1) 導入方法の検討
まず、参考サイトからLizzie.0.7.4.Mac-Linux.zipをDownloadして、README.txtを読みます。
Java 8 or higherが必要
sourceをDownload後、CPU利用時はconfig.hの修正が必要
次に、sourceをgitからDownload(git clone https://github.com/gcp/leela-zero)
sourceのREADME.mdを読みます。
Install build depedenciesを導入後、makeが必要
となります。
(2) 導入
(a) Lizzie.0.7.4.Mac-Linux.zip を参考サイトからDownloadして、解凍
(b) 必要なツールの導入
(c) souceコードのコピー
(d) config.hの修正
(e) souceコードの修正(fix適用)
(f) make後、 実行モジュールのコピー
(3) 詳細
(a) Lizzie.0.7.4.Mac-Linux.zip を参考サイトからDownloadして、解凍
$ wget https://github.com/featurecat/lizzie/releases/download/0.7.4/Lizzie.0.7.4.Mac-Linux.zip
$ unzip Lizzie.0.7.4.Mac-Linux.zip
上記手順でLizzieディレクトリに解凍されます。
(b) 必要なツールの導入
$ sudo apt -y install build-essential default-jre git
$ sudo apt -y install libboost-dev libboost-program-options-dev libopenblas-dev opencl-headers ocl-icd-libopencl1 ocl-icd-opencl-dev zlib1g-dev libboost-filesystem1.71-dev
readmeに記載されていませんが、導入が必要でした。
$ sudo apt -y install libboost-filesystem1.71-dev
(c) souceコードのコピー
$ git clone https://github.com/gcp/leela-zero
上記手順でleela-zeroディレクトリにコピーが作成されます
(d) config.hの修正
$ cp leela-zero/src/config.h ./
$ sed -i -e '95 s/#define/\/\/#define/' config.h
$ sed -i -e '105 s/#define/\/\/#define/' config.h
$ mv config.h leela-zero/src/config.h
上記手順で必要なcodeを修正(README.mdに記載)
(e) souceコードの修正(fix適用)
$ cd leela-zero/src
$ git submodule update --init --recursive
(f) make後、 実行モジュールのコピー
$ cd leela-zero/src
$ make
$ mv leelaz ../../Lizzie
(4) 実行
$ cd Lizzie
$ java -jar lizzie.jar
上記操作でGUIが起動し、学習済みモデルを利用してエンジンも起動します。
追加
GPU版の導入手順を見直しました
参考
[本ブログ内参照]
・囲碁AIのlizzieとleela_zeroの組合せをGPUを利用して動作確認しました
[外部サイト参照]
・Lizzie v0.7.4
・Hatakazu's weBLOG
コメント
コメントを投稿