AZ.jsは囲碁AIを使ったアプリ開発入門のためのサンプルアプリとソースコードです。 一緒に囲碁プログラミングしましょう!
AZ.jsには以下の特長があります。
- プログラマー人口が多く、入門も比較的容易なプログラミング言語JavaScriptを採用しました
- 思考エンジンにDeepMind社のAlphaGo Zeroと同じアルゴリズムを採用しました
- ニューラルネットワークにFacebook社のELF OpenGoのウェイトなどを利用可能です
- APIドキュメントなどコメントが充実しています
https://new3Rs.github.io/AZ.js/index.ja.html をクリックするとアプリが動きます。
https://new3Rs.github.io/AZ.js/docs をクリックしてください。
- gitコマンドでこのレポジトリをcloneしてください。
git clone https://github.com/new3Rs/AZ.js.git
cd AZ.js
- 必要なパッケージをインストールしてください。
npm install
- ウェブサーバーを起動してください。 以下のコマンドでサーバーが起動し、デフォルトのブラウザでアプリが開きます。
npm run server
- srcフォルダの中のコードを好きに変更してください。変更したらbuildしましょう。
npm run build
ブラウザで再読み込みすると変更が反映されているはずです。
不明な点があれば、Issuesでどんどんご質問ください。
面白い変更ができたら公開したくなりますよね? GitHubなら公開も簡単です。
-
もしまだ持っていなければGitHubアカウントを作ります。
-
このレポジトリをforkします。
-
forkしたレポジトリをcloneします。
-
SettingsでGitHub PagesのSourceを"master branch /docs folder"に設定します。
-
「開発の仕方」で変更したファイルをcloneしたレポジトリに上書きコピーしてbuildします。
-
変更をコミットします。
git commit -am "コメント"
- forkしたレポジトリに反映させます。
git push
これであなたのアプリが公開されています。 https://<あなたのGitHubアカウント名>.github.io/AZ.js/index.ja.html をアクセスしてみてください。
Leela Zero用ウェイトファイルをWebDNN用に変換すると本アプリで使えるようになります。 変換するには、leela-zero-tf/convert_webdnn.py を利用してください。
cd leela-zero-tf
pip3 install -r requirements.txt
python3 convert_webdnn.py <weight_file_name>
基本的にMITライセンスです。各ファイルに記述しています。
碁盤描画ライブラリにjGoBoardの変更バージョンを使用しています。関連ファイル(docs/js/jgoboard-latest.js, docs/large/*)はjGoBoardのライセンスを参照してください。
ニューラネットワークの評価にWebDNNを使用しています。関連ファイル(docs/js/webdnn.js*)はjGoBoardのライセンスを参照してください。
石音は効果音ラボ様のフリー効果音素材を利用しています。関連ファイル(docs/audio/go-piece1.mp3)は効果音ラボ様のライセンスを参照してください。
leela-zero-tf/tfprocess.py, leela-zero-tf/net2net.py はLeela Zeroのコードを修正したものです。ライセンスはLeela Zeroのライセンスを参照してください。