当前位置: 首页 > news >正文

拿AI下围棋 -- 开源项目leela-zero

书接上回AlphaGo 王树森深度强化学习DRL(三)围棋AlphaGo+蒙特卡洛-CSDN博客

蒙生实践体验和AI对弈 借助AI和别人下围棋的想法

在github上找了一个   复现 AlphaGo Zero 论文中的方法  leela-zero

不依赖任何人类棋谱知识,完全靠自我对弈+ 深度残差神经网络 + 蒙特卡洛树搜索(MCTS)训练

使用它下围棋需要四个步骤:

1. 下载 Leela Zero Windows Release(含 leelaz.exe)。

2. 下载网络权重文件(官方发布的 best network)。(因为权重是社区不断训练更新的 需额外下载)

3. 命令行启动引擎。 加载权重,检测到显卡后,做 OpenCL 算子性能调优。

4. 在图形界面GUI如 Lizzie可视化下棋。

所需要下载的文件如下:

https://github.com/leela-zero/leela-zero/releases Leela Zero Windows Release

https://zero.sjeng.org/best-network 权重文件

https://github.com/featurecat/lizzie/releases GUI Lizzie

1. 效果展示

左上角有一个实时胜率图    左下角是类似min-max 双方未来几步按照它最优解的下法(变化图)

棋盘上 上面的数字代表期望胜率(动作价值函数)  下面的数字是MCTS的访问次数

综合得蓝色是最推荐的点,绿色是次推荐的点,红色其次

(正常情况下会显示上面的圈圈 也可能会出现未知bug 不显示的情况)

可以ENTER可以让AI走下一步。    下方为我拿AI走黑棋,朋友走白棋的一局。

可以看见下方的胜率曲线从开局几步 白方失误开始 黑方胜率就一直稳定在99%以上。

2. 一步步实操步骤

2.1 命令行实操

1. 先创建一个GoAI文件夹 下载之前说的三个文件夹 解压命名为leelaz和lizzie

2. 把best-network文件重命名为weights.txt.gz 并且放在leelaz文件夹下

3. 打开命令提示符(Win+R → cmd)进入目录    cd /d D:\GoAI\leelaz

4. 启动引擎(GTP 模式 + 指定权重;有 GPU 就用 --gpu 0,没有就删掉):

leelaz.exe --gtp -w weights.txt.gz -t 8 --gpu 0

它会进行检查显卡配置做 OpenCL 算子性能调优

“Started OpenCL SGEMM tuner”表示它开始优化 矩阵乘法 (SGEMM) 的实现。Leela Zero 的神经网络大量依赖矩阵乘法,这一步会尝试不同配置,找到在你显卡上最快的计算方式。

(需要等待几分钟 并处在下面380种调优搜索)

Started OpenCL SGEMM tuner. Will try 380 valid configurations.(1/380) KWG=16 KWI=2 MDIMA=8 MDIMC=8 MWG=16 NDIMB=16 NDIMC=16 NWG=64 SA=1 SB=1 STRM=0 STRN=0 TCE=0 VWM=2 VWN=4 0.1797 ms (2625.6 GFLOPS)

最后会停在设置搜索树的大小和缓存空间。 然后我们可以进行 一些命令行调试是否导入成功。

version 版本;   boardsize 19 建立19路棋盘

clear_board 清空盘面; genmove b 让AI执黑棋线下

后续它会搜索一些点 周期性输出最好的点(MCTS探索次数最多的点)

Win 胜率多少,PV为后续若干步之后的双方最优盘面。

2.2 Lizzie GUI

在lizzie文件夹中有一个config.txt文件     要把开头的  "leelaz"   "engine-command-list" 改为

"leelaz": {"engine-command": "D:/GoAI/leelaz/leelaz.exe --gtp -w D:/GoAI/leelaz/weights.txt.gz -t 8 --gpu 0 -v 1600","engine-start-location": "D:/GoAI/leelaz","print-comms": false,"show-lcb-winrate": false,"max-analyze-time-minutes": 99999,"analyze-update-interval-centisec": 10,"max-game-thinking-time-seconds": 2,"avoid-keep-variations": 30
}

Java Downloads | Oracle   需要事先下载好Java 之后在命令行中运行

​​​​​​​cd /d D:\GoAI\lizzie
java -jar lizzie.jar

然后 enjoy yourself 吧 ~

http://www.dtcms.com/a/348571.html

相关文章:

  • ​Mac用户安装JDK 22完整流程(Intel版dmg文件安装指南附安装包下载)​
  • mysql历史社区版本下载
  • 面试题及解答:掌握Linux下常用性能分析工具
  • (Redis)过期删除策略
  • 半年网络安全转型学习计划表(每天3小时)
  • Highcharts推出OEM许可证中国区正式上线:赋能企业级嵌入式数据可视化解决方案
  • 如何使用 DeepSeek 助力工作​。​
  • 数据可视化——matplotlib库
  • EPWpy教程:一个脚本完成能带、声子、电声耦合、弛豫时间计算
  • [自用笔记]上传本地项目至github
  • 联想win11笔记本音频失效,显示差号(x)
  • 【嵌入式DIY实例-ESP32篇】-物联网电能表
  • 硬件开发_基于物联网的宠物猫饲养系统
  • 中介者模式与几个C++应用实例
  • 【高等数学】第十章 重积分——第二节 二重积分的计算法
  • 交通拥堵识别准确率↑22.5%!陌讯多模态时序融合算法在智慧交通的落地优化
  • Spring AOP面向切面的底层原理、注解、切入点表达式、连接点获取方法名参数值等
  • C++STL底层原理:探秘标准模板库的内部机制
  • 从全栈开发到微服务架构:一次真实的Java面试实录
  • 【机器学习】9 Generalized linear models and the exponential family
  • 大模型面试题剖析:微调与 RAG 技术的选用逻辑
  • 【Docker项目实战】使用Docker部署Hibiscus.txt简单日记工具
  • VITE BALABALA require balabla not supported
  • Linux:shell命令
  • 【数据结构】-4-顺序表(上)
  • AI Agent与生成式AI双驱动:AI如何重塑商业格局并创造千亿级增量价值
  • 一套完整的Linux下usb设备驱动包括字符设备驱动吗
  • Docker 安装LDAP(企业级统一账号配置系统)
  • 税务岗位能力提升培训课程推荐:专业成长与证书指南
  • 【Game】Powerful——Punch and Kick(12.3)All Star