official-stockfish/nnue-pytorch

Stockfish NNUE (Chess evaluation) trainer in Pytorch

解決的問題

本專案提供一個基於 PyTorch 的框架,用於訓練 Stockfish 棋類引擎的 NNUE(高效可更新神經網路)。它允許開發者訓練可用於棋盤評估的神經網路,並利用現代 GPU 加速技術(NVIDIA、AMD 與 Apple Silicon)。

工作原理

系統使用 PyTorch 來處理網路訓練流程。它包含專用的稀疏資料載入器以提升效率,並支援多種硬體加速器。工作流程包括訓練網路、儲存檢查點(.ckpt),以及使用獨立腳本(run_games.py)自動將這些檢查點轉換為 .nnue 格式,並執行對局以評估與排序表現最佳的網路,使用工具如 c-chess-cliordo

適用對象

希望使用 PyTorch 訓練 Stockfish 自訂評估網路的棋類引擎開發者與研究人員。

主要亮點

  • 支援多種 GPU 廠商,包括 NVIDIA(CUDA)、AMD(ROCm)與 Apple Silicon(MPS)。
  • 集成自動化功能,可將檢查點轉換為 .nnue 檔案並執行評估對局。
  • 基於 Docker 的設定,簡化環境配置與 C++ 編譯。
  • 與 TensorBoard 集成,用於訓練日誌記錄。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案