TadaoYamaokaの開発日記

個人開発しているスマホアプリや将棋AIの開発ネタを中心に書いていきます。

dlshogiの環境構築手順

世界コンピュータ将棋オンライン大会でdlshogiライブラリを使用していたGCTは、AWSWindows Serverで環境構築されていました。

構築手順を共有いただいたので、参考にしてください。

AWSでのGPU環境の構築手順について · Issue #12 · TadaoYamaoka/DeepLearningShogi · GitHub

Linuxでの構築手順は、以前にQhapaqさんにWikiに記事を記載してもらってます。
Home · TadaoYamaoka/DeepLearningShogi Wiki · GitHub
ただし、TensorRT対応前のバージョンの手順になっています。

Linux構築手順(TensorRT対応)

Dockerを使用した場合の、TensorRTバージョンでのLinuxでの構築手順を簡単に記載します。
wcsoc2020バージョンでの構築手順です。最新のソースでは変更されている可能性があります。

CUDA 10.2のDockerコンテナ作成
docker run -v $(pwd):/workspace -it nvidia/cuda:10.2-cudnn7-devel-ubuntu18.04
TensorRTのインストール

NvidiaのサイトからTensorRT 7.0のUbuntu向け.debパッケージをダウンロードして、

dpkg -i nv-tensorrt-repo-ubuntu1804-cuda10.2-trt7.0.0.11-ga-20191216_1-1_amd64.deb
apt-key add /var/nv-tensorrt-repo-ubuntu1804-cuda10.2-trt7.0.0.11-ga-20191216_1-1_amd64.deb/7fa2af80.pub
apt-get update
apt-get install tensorrt
パッケージインストール
apt install zlib1g-dev
apt install git
GitHubからソースをclone
git clone -b wcsoc2020 https://github.com/TadaoYamaoka/DeepLearningShogi.git
ビルド
cd DeepLearningShogi/usi
make

これで、DeepLearningShogi/usi/binに、実行ファイルusiが出来上がります。

USIエンジンのビルドはここまです。以降は、学習を行う場合に必要な環境構築手順です。

Anacondaインストール

Anacondaのサイトの以前のアーカイブからAnaconda3-2019.10-Linux-x86_64.shをダウンロードして

bash Anaconda3-2019.10-Linux-x86_64.sh

インストール時にconda initを実行する聞かれるので実行する。以降、condaのbase環境で作業する。

boostインストール
conda install boost=1.67.0
環境変数追加

~/.bashrcに以下の行を追加

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib
自己対局コマンドビルド
cd DeepLearningShogi/usi/make_hcpe_by_self_play
make

これで、DeepLearningShogi/make_hcpe_by_self_play/binに、実行ファイルmake_hcpe_by_self_playが出来上がります。


以下、ニューラルネットワークの学習環境の構築手順です。
boostインストールは上記と共通です。

PyTorch 1.3インストール
conda install pytorch==1.3.1 torchvision==0.4.2 cudatoolkit=10.1 -c pytorch
dlshogiのPythonモジュールインストール
cd DeepLearningShogi
pip install -e .
cppshogiビルド
cd cppshogi
make

これで、dlshogi/train_rl_policy_with_value_using_hcpe_bootstrap.pyを使用して、自己対局で生成した学習局面でニューラルネットワークの学習が行えます。