/DeepLearningShogi

Primary LanguageC++GNU General Public License v3.0GPL-3.0

DeepLearningShogi(dlshogi)

pypi

将棋でディープラーニングの実験をするためのプロジェクトです。

基本的に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エンジンのビルド環境に加えて以下が必要

  • Pytorch 1.6以上
  • Python 3.7以上 (Anaconda)
  • CUDA (PyTorchに対応したバージョン)
  • cuDNN (CUDAに対応したバージョン)

謝辞

  • 将棋の局面管理、合法手生成に、Aperyのソースコードを使用しています。
  • モンテカルロ木探索の実装は囲碁プログラムのRay+Rnの実装を参考にしています。
  • 探索部の一部にLeela Chess Zeroのソースコードを流用しています。
  • 王手生成などに、やねうら王のソースコードを流用しています。

ライセンス

ライセンスはGPL3ライセンスとします。