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

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目