OpenMythosのサンプルプログラムを動かしました

1.概要 前回、OpenMythosの環境構築まで実現したので、GitHubにあるサンプルプログラム(Usage)を動かしてみました。一部エラーが発生しましたが、結果出力部分なので修正をしました。その内容を記述します。 2.詳細 Usageに記載されているPythonプログラムをopenmythos_usage.pyとして作成します。 $ source ~/mypy/bin/activate (mypy) $ pythoh3 openmythos_usage.py 下記エラーとなります [MLA] Parameters: 1,538,626 [MLA] Logits shape: torch.Size([2, 16, 1000]) [MLA] Generated shape: torch.Size([2, 24]) Traceback (most recent call last):   File "/home/nakasima/openmythos/openmythos_usage.py", line 48, in <module>     rho = torch.linalg.eigvals(A).abs().max().item()           ^^^^^^^^^^^^^^^^^^^^^^^ RuntimeError: linalg.eig: The input tensor A must have at least 2 dimensions. コードの下記部分を修正します #rho = torch.linalg.eigvals(A).abs().max().item() rho = A.abs().max().item() $ source ~/mypy/bin/activate (mypy) $ pythoh3 openmythos_usage.py [MLA] Parameters: 1,538,626 [MLA] Logits shape: torch.Size([2, 16, 1000]) [MLA] Generated shape: torch.Size([2, 24]) [MLA] Spectral radius ρ(A) = 0.3679 (mus...

囲碁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

コメント

このブログの人気の投稿

miniPCのBMAXでWindows11のsecure boot設定漏れでトラブル発生

LinuxMint-22.3にWine 11.6をサクッと入れてみました

LinuxMint 21.3にWinBoat導入を試してみました