TadaoYamaokaの開発日記

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

dlshogiのLinuxでのビルド/自己対局の実行方法

dlshogiのビルドや自己対局の実行方法について今まで文章化していなかったので、解説用のJupyter Notebookを作成した。
Google Colabで実行できる。

colab.research.google.com


dlshogiは学習に初期局面集や評価局面集を使っていたり、メモリを大量に消費するため、Google Colabで実行するために制限を加えている。
制限を加えた個所は注釈で説明を入れている。

ということで、dlshogiを開発に使用する際の参考にしてください。


VC++とg++の違いについて

Linuxでビルドする際に、Visual Studioではビルドできていたコードがエラーになるコードがあった。
以下のようなテンプレートメソッドを呼び出す処理で、

entry.hand.exists<HPawn>();

g++でコンパイルすると、

expected primary-expression before '>' token

というエラーが発生する。

このページを参考に、

entry.hand.template exists<HPawn>();

に書き換えるとコンパイルが通るのだが、別の箇所では上記のコードでもコンパイルが通るので、template周りの仕組みがいまいち理解しきれていない。