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 集成,用于训练日志记录。
相关
- 项目
- 项目
- 项目
- 项目
- 项目