一、 下载Sabaki和Leela Zero最新版本
- 下载 Sabaki
下载的程序先放到这个目录
cd /D E:\develope\c\c++_game\
https://github.com/SabakiHQ/S... ( https://github.com/SabakiHQ/L... 这个是旧版leela所用 )
https://github.com/SabakiHQ/S...
https://github.com/SabakiHQ/S...
下载v0.33.4的,因为v0.51.1好像有点问题
- leela-zero代码下载:
cd /D E:\develope\c\c++_game\
https://github.com/gcp/leela-... ( https://github.com/leela-zero... )
https://github.com/leela-zero...
另外,有兴趣也可以下载leelasabaki尝试 ( 在本项目中用不上,可以不用下载),
【】里面的内容可以忽略,其实就是增加了一个leela引擎(但是leela引擎比leela-zero弱,因此可以不用下载)
【 如有兴趣: 参照 https://www.jianshu.com/p/c44... (2018.02.11文章)里面说的,
(1)当前下载的是:leelasabaki-v0.2.0
https://github.com/SabakiHQ/LeelaSabaki/releases/download/v0.2.0/leelasabaki-v0.2.0-linux-macos-win-x64.7z
将 leelasabaki-v0.2.0-linux-macos-win-x64 整个目录剪切到
C:/AI_game/Sabaki/leelasabaki-v0.2.0-linux-macos-win-x64/
(2)还要下载:Leela GTP引擎下载链接:https://www.sjeng.org/dl/Leela0110GTP.zip
( 将下载得到的“Leela0110GTP.zip”文件解压,确认含有“Leela0110GTP.exe”和“Leela0110GTP_OpenCL.exe”两个文件),
将目录剪切到这里:
C:/AI_game/Sabaki/Leela0110GTP/
(3) 配置引擎的时候,参数如下:
比如,
名称:Leela0110GTP
路径:C:/AI_game/Sabaki/leelasabaki-v0.2.0-linux-macos-win-x64/leelasabaki-win.exe
参数:--flat C:/AI_game/Sabaki/Leela0110GTP/Leela0110GTP_OpenCL.exe
初始化命令:
详细的参数内容,也可以在cmd窗口下(win+R,输入cmd回车) ,执行:
C:/AI_game/Sabaki/leelasabaki-v0.2.0-linux-macos-win-x64/leelasabaki-win.exe --help
实测,在Sabaki0.33.4上可以作为引擎运行,
】
二、安装Sabaki
之前在 《PhoenixGo-围棋人工智能.txt》中已经安装了,直接双击 sabaki-v0.33.4-win-x64-setup.exe , 安装到:
C:\AI_game\Sabaki\ 目录下
三、安装leela zero 并获取权重文件
1. 将leela-zero-0.17-cpuonly-win64.zip 解压缩到 E:\develope\c\c++_game\leela-zero-0.17-cpuonly-win64 ,就是安装好了。
获取权重文件 (有两种方式)
应该有 autogtp.exe , leelaz.exe 等exe程序(这两个程序后面要用)
2. 方法1:生成权重文件,(似乎失败,放弃此方法,采用第二种下载权重文件的方式)
进入此解压目录,直接运行autogtp.exe,
cd /D E:\develope\c\c++_game\leela-zero-0.17-cpuonly-win64
autogtp.exe
AI程序将检测电脑配置并进行自对弈,运行一段时间后会生成一个networks文件夹,其中的文件就是权重文件压缩包
Ctrl+C停止程序,打开networks文件夹,将权重文件压缩包解压缩,得到一个txt文件,重命名比如weights.txt,
复制到leela zero安装目录,这里是:E:\develope\c\c++_game\leela-zero-0.17-cpuonly-win64
但是这里一直报错:
E:\develope\c\c++_game\leela-zero-0.17-cpuonly-win64>autogtp.exe
AutoGTP v18
Using 1 game thread(s) per device.
Starting tuning process, please wait...
Network connection to server failed.
NetworkException: JSON parse error: illegal value
Retrying in 30 s.
3. 方法2:下载权重文件,
权重文件压缩包也可下载:
【 这是旧版网站,新版本网站,已经迁移到 leela.online-go.com
http://zero.sjeng.org/, 向下浏览至Best Network Hash表格,其中的Hash文件就是权重文件包,比如
http://zero.sjeng.org/network...
】
新版网站,
https://zero.sjeng.org/ 找到“Raw SGF files”
点击进入: https://leela.online-go.com/z...
3.1)文件说明:( https://leela.online-go.com/zero/ 目录下的 )
1) all_match.sgf.xz 文件大小约296M,解压后是一个2G多的all_match.sgf 文件,可以在Sabaki中打开 ,(按照暗点提示,跟着点击就是复盘,能看到电脑怎么下的 )
不知道是版本问题(电脑安装的0.33.4版)还是文件太大,Sabaki中 File ==> Open... (或Ctrl+O) ,载入该sgf文件后,没有反应,文件路径:
E:\BaiduNetdiskDownload\all_match.sgf (Sabaki对局保存后,后缀就是sgf)
2) tfsummary.tar.xz 文件解压后是26G的1071个train 日志文件和1071个test文件,如: events.out.tfevents.1557822313.beast
每个文件都是约42M的二进制文件;
3) best_v1.txt.zip , 7.8M大小,解压后是一个22M的txt文件,一堆数字,
将该文件放到 leela-zero-0.17-cpuonly-win64 目录下,备用,添加引擎的时候,需要这个txt文件的路径:
E:/develope/c/c++_game/leela-zero-0.17-cpuonly-win64/best_v1.txt/weights.txt
4) all_1M.sgf.xz ~ all_22M.sgf.xz 未下载,估计跟all_match.sgf.xz,类似,就是sgf文件,可以在Sabaki中打开
3.2) 还有训练文件 ,https://leela.online-go.com/training/
(都是.zip文件,每个压缩包都几百兆,还有几个G的)
下载了一个 train_0255d914.zip文件(374M)查看,解压后,发现是 train_0255d914_0.gz ~ train_0255d914_296.gz 的文本压缩文件(每个gz文件1M多),
随便解压一个文件train_0255d914_1.gz,就看到 16M大小的文本文件,内容类似于 best_v1.txt/weights.txt 文件。
四、Sabaki配置leela zero引擎
运行Sabaki软件: 双击C:\AI_game\Sabaki\ 目录下的 Sabaki.exe,
在菜单栏(如果没有菜单,按Alt调出菜单),Engines ==> Mange Engines... ==> Add ==> <输入名称和引擎路径> ( 选引擎,选引擎管理,选添加,添加leela zero引擎 )
比如,
名称:leelazero
路径:E:/develope/c/c++_game/leela-zero-0.17-cpuonly-win64/leelaz.exe
参数:-g -t 1 --noponder -w E:/develope/c/c++_game/leela-zero-0.17-cpuonly-win64/best_v1.txt/weights.txt
初始化命令:time_settings 0 30 1
详细的参数内容,请百度一下,我也不是很清楚, E:/develope/c/c++_game/leela-zero-0.17-cpuonly-win64/leelaz.exe --help
(也可以在cmd窗口下(win+R,输入cmd回车) ,执行: E:\develope\c\c++_game\leela-zero-0.17-cpuonly-win64>E:/develope/c/c++_game/leela-zero-0.17-cpuonly-win64/leelaz.exe --help 查看说明)
注:参数写错了可能导致不能自动下棋(报错: connection error),参数也可写成:(--gtp是2个--,不要少了)
--gtp -t2 -v1000 --noponder -w E:/develope/c/c++_game/leela-zero-0.17-cpuonly-win64/best_v1.txt/weights.txt
五、Sabaki参数配置
打开菜单,File ==> Preferences... 选偏好设置,勾选下面三个选项:
在棋盘上即时显示分析变化
附加引擎后立即开始对局
引擎自动生成走法
打开菜单,选显示,勾选: 显示棋局树
简单配置完成,详细配置,请自行摸索,如果是后续版本,有汉化语言包,languages选简体中文
六、与AI对弈
关闭Sabaki重新打开
Crtl+N建立新对局,点开白棋右边的箭头选择刚设置的引擎,比如leelazero,按确认开始对局
Leela Zero将自动对局(黑棋先下),专业N段赔你下棋
棋盘左边显示AI运行说明,右侧显示对局树和胜率图
对弈中,可以按下F4,或者F5、F10,有惊喜
可悔棋,可随时认输,或关闭程序
注:之前参数写错了,写成了:-gtp(只有一个-,应该是--gtp),错误的参数导致报错,不能自动下棋
但是显示:
leelazero> genmove B
connection error
七、 cpu使用
1. 两个AI对弈,cpu一直处于高消耗状态
如果设置了2个leelazero,leelazero2, 对弈的时候黑白棋选择的引擎都是分别是leelazero,leelazero2 ,电脑风扇一直狂转, 电脑cpu一直处于高消耗状态
2. 人机对战,消耗并不那么大,
相比 PhoenixGo,CPU消耗更小,更流畅
======== 二、 macOS下安装 ========
类似windows10的安装,我们也按照如下步骤:
一、 下载Sabaki和Leela Zero最新版本
- 下载 Sabaki
下载的程序先放到这个目录 ( 之前已经下载过了 )
cd ~/develope/c/c_lang_dev/c++_game/
- leela-zero代码安装:
官方文档: https://github.com/leela-zero...
由于 brew install leela-zero 报错失败,(懒得折腾), ( 但是文件依然生成了 ,/usr/local/Cellar/leela-zero/0.17/bin/leelaz )
因此采用编译的方式:
cd ~/develope/c/c_lang_dev/c++_game/
Example of compiling - macOS
Clone github repo
git clone [email protected]:leela-zero/leela-zero.git
cd leela-zero
git submodule update --init --recursive
( 报错了, 但是后面依然可以执行 )
Install build depedencies
brew install boost cmake zlib
Use a stand alone build directory to keep source dir clean
mkdir build && cd build
Compile leelaz and autogtp in build subdirectory with cmake
cmake ..
cmake --build .
Optional: test if your build works correctly
./tests
看到成功运行;
另外,有兴趣也可以尝试leela(非zero,可能没有zero强大,见后面),
二、安装Sabaki
之前在 《PhoenixGo-围棋人工智能.txt》中已经安装了!
安装的v0.33.4的,(暂未测试macbook上的 v0.51.1是否好用 )
三、安装leela zero 并获取权重文件
1. 经过上面编译,应该就安装好了。
程序位于: ~/develope/c/c_lang_dev/c++_game/leela-zero/build/
该目录下有 leelaz 程序(这个程序后面要用)
但是没有 autogtp 程序 或目录,可能是上面报错导致 autogtp 没有生成;
2. 构建 (TODO 上面没有生成 autogtp 目录,因此这两步无法进行)
将leelaz二进制文件复制到autogtp子目录 , Copy leelaz binary to autogtp subdirectory
cp leelaz autogtp
Run AutoGTP to start contributing
./autogtp/autogtp
3. 下载权重文件,
权重文件压缩包也可下载:
【 这是旧版网站,新版本网站,已经迁移到 leela.online-go.com
http://zero.sjeng.org/, 向下浏览至Best Network Hash表格,其中的Hash文件就是权重文件包,比如
http://zero.sjeng.org/network...
】
下载地址:( windows上已经下载过了 )
https://leela.online-go.com/z...
mv /Users/cf/Downloads/leelaZero/best_v1.txt /Users/cf/develope/c/c_lang_dev/c++_game/leela-zero/build/best_v1.txt
四、Sabaki配置leela zero引擎
运行Sabaki软件:
在菜单栏(如果没有菜单,按Alt调出菜单),Engines ==> Mange Engines... ==> Add ==> <输入名称和引擎路径> ( 选引擎,选引擎管理,选添加,添加leela zero引擎 )
比如,
名称:LeelaZero
路径:/Users/cf/develope/c/c_lang_dev/c++_game/leela-zero/build/leelaz
参数:--gtp -t1 -v1000 --noponder -w /Users/cf/develope/c/c_lang_dev/c++_game/leela-zero/build/best_v1.txt/weights.txt
初始化命令:time_settings 0 30 1
详细的参数内容,请百度一下,我也不是很清楚,
或者执行: /Users/cf/develope/c/c_lang_dev/c++_game/leela-zero/build/leelaz --help
注:参数写错了可能导致不能自动下棋(报错: connection error),参数也可写成:(--gtp是2个--,不要少了)
--gtp -t2 -v1000 --noponder -w /Users/cf/develope/c/c_lang_dev/c++_game/leela-zero/build/best_v1.txt/weights.txt
-g -t 1 --noponder -w /Users/cf/develope/c/c_lang_dev/c++_game/leela-zero/build/best_v1.txt/weights.txt
五、Sabaki参数配置
打开菜单,File ==> Preferences... 选偏好设置,勾选下面三个选项:
在棋盘上即时显示分析变化
附加引擎后立即开始对局
引擎自动生成走法
打开菜单,选显示,勾选: 显示棋局树
简单配置完成,详细配置,请自行摸索,如果是后续版本,有汉化语言包,languages选简体中文
六、与AI对弈
关闭Sabaki重新打开
Crtl+N建立新对局,点开白棋右边的箭头选择刚设置的引擎,比如leelazero,按确认开始对局
Leela Zero将自动对局(黑棋先下),专业N段赔你下棋
棋盘左边显示AI运行说明,右侧显示对局树和胜率图
对弈中,可以按下F4,或者F5、F10,有惊喜
可悔棋,可随时认输,或关闭程序
在Sabaki v0.33.4和v0.51.1两个版本上好像运行都不成功。 -- 不知道原因;但是其他引擎可以运行(PhoenixGo和Leela0110GTP两个都能运行)
==== 另,附加测试leela引擎 (成功)
leela早期版本,没有leela-zero强大;
增加了一个leela引擎(但是leela引擎比leela-zero弱,因此可以不用下载,这里纯属爱好,调试一些
如有兴趣: 参照上面windows上的安装即可成功。(1)当前下载的是:leelasabaki-v0.2.0 https://github.com/SabakiHQ/LeelaSabaki/releases/download/v0.2.0/leelasabaki-v0.2.0-linux-macos-win-x64.7z 将 leelasabaki-v0.2.0-linux-macos-win-x64 整个目录剪切到 mv ~/Downloads/leelaZero/leelasabaki-v0.2.0-linux-macos-win-x64 /Users/cf/develope/c/c_lang_dev/c++_game/leelasabaki-v0.2.0-linux-macos-win-x64 赋予可执行权限: chmod +x /Users/cf/develope/c/c_lang_dev/c++_game/leelasabaki-v0.2.0-linux-macos-win-x64/leelasabaki-macos (2)还要下载:Leela GTP引擎下载链接:https://www.sjeng.org/dl/Leela0110GTP.zip ( 将下载得到的“Leela0110GTP.zip”文件解压,确认含有“leela_0110_macOS”和“leela_0110_macOS_opencl”两个文件), 将目录剪切到这里: mv ~/Downloads/leelaZero/Leela0110GTP /Users/cf/develope/c/c_lang_dev/c++_game/Leela0110GTP 赋予可执行权限: chmod +x /Users/cf/develope/c/c_lang_dev/c++_game/Leela0110GTP/leela_0110_macOS_opencl chmod +x /Users/cf/develope/c/c_lang_dev/c++_game/Leela0110GTP/leela_0110_macOS (3) 配置Sabaki引擎的时候,参数如下:
比如,
名称:Leela0110GTP
路径:/Users/cf/develope/c/c_lang_dev/c++_game/leelasabaki-v0.2.0-linux-macos-win-x64/leelasabaki-macos
参数:--flat /Users/cf/develope/c/c_lang_dev/c++_game/Leela0110GTP/leela_0110_macOS_opencl
初始化命令:
详细的参数内容,也可以在cmd窗口下(win+R,输入cmd回车) ,执行:
/Users/cf/develope/c/c_lang_dev/c++_game/leelasabaki-v0.2.0-linux-macos-win-x64/leelasabaki-macos --help
(4) 实测,在Sabaki0.33.4上可以作为引擎运行,
下期速度很快,估计战力没有其他引擎强大