Github 项目推荐 | 最小化类 AlphaGo Zero 引擎 —— Nochi
时间:2022-05-04
本文章向大家介绍Github 项目推荐 | 最小化类 AlphaGo Zero 引擎 —— Nochi,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Nochi 是一个极简的 AlphaGo 引擎,它用 Keras 神经模型代替 Monte Carlo 模拟。Nochi 不会像 Michi 那样受人瞩目,但是它仍有一定的作用。
这不是一个像 AlphaGo 那样真正的「零知识」(zero-knowledge)系统,作者稍微做了一些调整。
Nochi 已经被证实能够在两周内接近 GNUGo 的水平(8500 场比赛,6 线程加一款 Tesla M60 GPU)。
用法:
首先,在脚本的开始处设定 N 的值来确定棋盘的大小,N 默认为 19.
开始训练:
python ./michi.py selfplay
它会自动生成一个 ID 并做周期性快照(这些数字应该乘以线程数来获得真实的局数)。要恢复成其他的模式(比如开始 gameio 或者 gtp),请将 ID 设置为:
python ./michi.py selfplay G171107T013304_000000150
开始游戏,你可以传递 gtp 参数并在 gogui 中启动它,或者让它用 GNUGo 玩游戏:
gogui-1.4.9/bin/gogui-twogtp -black 'python ./michi.py gtp G171107T013304_000000150' -white 'gnugo --mode=gtp --chinese-rules --capture-all-dead' -size 7 -komi 7.5 -verbose -auto -alternate -games 20 -sgffile x
Nochi 还支持监督训练:
while true; do find GoGoD-2008-Winter-Database/ -name '*.sgf' | shuf; done | python ./michi.py replay_train
用 smt 将用于位置输出的实际 MCTS 训练信号和数值监督结合起来:
while true; do find GoGoD-2008-Winter-Database/ -name '*.sgf' | shuf; done | python ./michi.py replay_traindist G171107T224743_R000030000
你可以用快照在自我对局、监督、监督 + MCTS 中自由切换,它们之间是相互兼容的。
Github 地址:
https://github.com/rossumai/nochi
- HDUOJ----The Number Off of FFF
- HDUOJ-------Naive and Silly Muggles
- HDUOJ----A Computer Graphics Problem
- HDUOJ---(4708)Herding
- HDUOJ---(4708)Rotation Lock Puzzle
- HDUOJ---Hamming Distance(4712)
- HDUOJ-----Difference Between Primes
- HDUOJ----(4706)Children's Day
- poj-------Common Subsequence(poj 1458)
- poj----Maximum sum(poj 2479)
- HDUOJ---hello Kiki
- HDUOJ-----X问题
- POJ-----C Looooops
- POJ--Strange Way to Express Integers
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python 爬虫篇-利用BeautifulSoup库爬取墨迹天气网的天气信息实例演示,调用墨迹天气api接口获取空气质量
- Redis的各种数据类型实践-ZSet
- Python 技术篇-将python项目打包成exe独立运行程序,pyinstaller库打包python代码
- Spring MVC 工作流程简介
- 8个尽量优化你的SQL
- 记一次 Kafka Producer 性能调优实战
- Kafka 独立消费者
- 【iOS】记录iOS14以及xcode12 遇到的问题
- 如果你还在犹豫要不要入行,请先看看我的IT入坑记【技术创作101训练营】
- Session、Cookie、Token 【浅谈三者之间的那点事】
- Python 微信机器人-20行代码实现斗图功能,简单易懂,全是干货!斗图啦API调用方法
- 浅谈布隆过滤器
- Python 技术篇-获取图片GPS信息,锁定追踪图片拍摄地点、拍摄时间
- 测试工具 - Postman接口测试入门使用手册,Postman如何进行数据关联、自动更新cookies、简单编程
- 白盒测试工具 - sonar的安装、配置与使用入门手册,用sonar检查代码质量实战演示