Skip to content

TadaoYamaoka/DeepLearningShogi

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
usi
 
 
 
 
 
 
 
 
 
 

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 11.6
  • cuDNN 8.4
  • TensorRT 8.4

※CUDA 10.0以上であれば変更可

学習部

上記USIエンジンのビルド環境に加えて以下が必要

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

謝辞

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

ライセンス

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