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-cli 與 ordo。
適用對象
希望使用 PyTorch 訓練 Stockfish 自訂評估網路的棋類引擎開發者與研究人員。
主要亮點
- 支援多種 GPU 廠商,包括 NVIDIA(CUDA)、AMD(ROCm)與 Apple Silicon(MPS)。
- 集成自動化功能,可將檢查點轉換為
.nnue檔案並執行評估對局。 - 基於 Docker 的設定,簡化環境配置與 C++ 編譯。
- 與 TensorBoard 集成,用於訓練日誌記錄。
相關
- 專案
- 專案
- 專案
- 專案
- 專案