nnue-pytorch は、Stockfish 系で使われている NNUE 評価関数の学習用リポジトリとしてよく知られる実装である。
PyTorch を用いて NNUE の学習、検証、変換を行うための基盤として広く参照される。
official-stockfish/nnue-pytorch は、
を含む公開リポジトリである。
将棋向けにそのまま使うわけではないが、 NNUE学習器の構成や運用を理解するうえで非常に参考になる。
これらは将棋向け NNUE 学習器を作るときにも共通する。
概念的な学習ループは次のようになる。
for batch in loader:
features, target = batch
output = model(features)
loss = criterion(output, target)
optimizer.zero_grad()
loss.backward()
optimizer.step()
リポジトリ本体では、これに加えて
などが整備されている。
将棋の NNUE 学習も、
といった点では共通の発想を持つ。
そのため、nnue-pytorch は
将棋向け実装の直接の答え というより、
NNUE 学習器をどう構成するかの参照実装
として読む価値が高い。