Skip to content
qhapaq-49 edited this page May 5, 2020 · 3 revisions

Welcome to the DeepLearningShogi wiki!

How to enjoy DeepLeaningShogi(dlshogi)

注:本記事は有志による執筆であり、内容の正しさや動作することを保証するものではありません

事前準備

必要なハードウエア

  • AVX命令に対応したx86-64 CPU
  • CUDA 10 以上に対応したGPU(GeForce 1080など)
    • TensorRT対応を考えると10.2以上を強く推奨

必要なソフトウエア

  • NVIDIA ドライバ(詳細は後述)
  • CUDA 10.2
  • cuDNN 7.6
  • TensorRT 7
  • g++,または,VisualStudio (ソースコードからビルドする場合)

お勧めな環境

  • Ubuntu18
    • windowsユーザでもubuntu18とのデュアルブートやバーチャルマシンの利用を検討することをお勧めします

NVIDIAドライバのインストール方法

Ubuntuユーザについてはdockerを使うことをお勧めします。 どうしてもwindowsを使いたいユーザは頑張ってください。macは動作が色々不安定で怪しいので諦めることをお勧めします。以下のリンクがヒントになるでしょう。

dockerのインストール(ubuntu)

dockerの導入に関しては、例えば以下が参考になります。

dockerが正しく導入できた場合、以下のコマンドでcuda10.1+cudnn7が入ったコンテナを起動することが出来ます。以下の環境でwcsc29時代のdlshogiを動かすことが可能です。

docker pull pytorch/pytorch:1.3-cuda10.1-cudnn7-devel
docker run -v :/home:/home -it pytorch/pytorch:1.3-cuda10.1-cudnn7-devel

dlshogiをビルドする(ubuntu)

git clone https://github.com/TadaoYamaoka/DeepLearningShogi.git
cd DeepLearningShogi/usi/
make

dlshogiの実行

windows

dlshogiのリリースページからバイナリをダウンロードすることで動かすことが出来ます(動いてなかったら恐らく導入を失敗しています)

ubuntu

usi/binusiという名前のバイナリが生成されます。これを実行することで動かすことが出来ます。

動かす場合の注意点

バイナリのファイル名

  • dlshogiは複数のネットワーク構造を単一の実行ファイルで扱うことが出来ます。どのネットワーク構造を使うかは評価関数のファイル名を参照して決定しています。具体的には現在最新版の評価関数名にはfused_wideresnet10が含まれている必要があります。有志評価関数などを使う際には注意してください。
    • ネットワークの読み込みに失敗した場合、isreadyコマンドを押した時点で落ちます

探索中にクラッシュする

  • uctのハッシュメモリが足りていない可能性が高いです。詳しくはこのへんを参照すると良いでしょう。