DeepLearningShogi
DeepLearningShogi copied to clipboard
DeepLearningShogi(dlshogi)
将棋でディープラーニングの実験をするためのプロジェクトです。
基本的にAlphaGo/AlphaZeroの手法を参考に実装していく方針です。
検討経緯、実験結果などは、随時こちらのブログに掲載していきます。
http://tadaoyamaoka.hatenablog.com/
ダウンロード
Releasesからダウンロードできます。
最新のモデルファイルは、棋神アナリティクスでご利用いただけます。
ソース構成
フォルダ | 説明 |
---|---|
cppshogi | Aperyを流用した将棋ライブラリ(盤面管理、指し手生成)、入力特徴量作成 |
dlshogi | ニューラルネットワークの学習(Python) |
dlshogi/utils | ツール類 |
selfplay | MCTSによる自己対局 |
test | テストコード |
usi | 対局用USIエンジン |
usi_onnxruntime | OnnxRuntime版ビルド用プロジェクト |
ビルド環境
USIエンジン、自己対局プログラム
Windowsの場合
- Windows 11 64bit
- Visual Studio 2022
Linuxの場合
- Ubuntu 18.04 LTS / 20.04 LTS
- g++
Windows、Linux共通
- CUDA 12.1
- cuDNN 8.9
- TensorRT 8.6
※CUDA 10.0以上であれば変更可
学習部
上記USIエンジンのビルド環境に加えて以下が必要
謝辞
- 将棋の局面管理、合法手生成に、Aperyのソースコードを使用しています。
- モンテカルロ木探索の実装は囲碁プログラムのRay+Rnの実装を参考にしています。
- 探索部の一部にLeela Chess Zeroのソースコードを流用しています。
- 王手生成などに、やねうら王のソースコードを流用しています。
ライセンス
ライセンスはGPL3ライセンスとします。