AlphaZero 的 Rust 实现
这个 repo 是一个由多个 crate 和二进制文件组成的货物工作空间:
synthesis: 包含所有主要训练和 MCTS 逻辑的主库 crate
study-connect4: 使用综合库训练网络玩 Connect4 的二进制 crate
base65536: 一个小箱子,用于将 u8 编码/解码为有效的 utf-8 字符串
slimnn: 一个纯锈的小型神经网络板条箱
export: 一个将pytorch权重保存为slimnn可以理解的格式的二进制包
实施了什么
与 tch-rs [1] 包集成以在 rust 中支持 pytorch
支持标准推出方法以及使用 NN 代替推出的通用 MCTS 实现
包括 MCTS 求解器 [2]
包括 FPU [3]
一个使用 MCTS+NN 收集经验并训练策略和价值函数的 AlphaZero [4] 学习器
支持多个价值目标
所有超参数暴露
多线程支持!
针对具有各种探索次数的标准部署 mct 进行轻量级评估
将游戏结果保存到 pgn 文件
运行 bayeselo [
2022-06-11 14:03:31
44KB
rust
算法