美文网首页
在苹果MacOS下使用Sabaki运行Leela Zero进行对

在苹果MacOS下使用Sabaki运行Leela Zero进行对

作者: 李斌CamusLi | 来源:发表于2018-11-18 23:42 被阅读0次

准备环境:Sabaki 0.40.1 + Leela Zero 0.16,这两个版本是可以进行带数字胜率进行复盘(如下图)的最低版本。

AlphaGo Zero(20blocks)自战第12局 分析环境(MacOS + Sabaki 0.40.1 + Leela Zero 0.16)

1. 安装Sabaki 0.40.1或更高版本

点击这里进入Sabaki各种版本的下载页面,点击链接“sabaki-v0.40.1-mac-x64.7z”开始下载,下载后解压得到Sabaki.app应用程序。

2. 安装Leela Zero 0.16或更高版本

打开Terminal,Applications(应用程序)--> Utilities(实用工具)--> Terminal(终端)

输入以下命令(可以复制):

2.1. 获取LeeLa Zero源代码

cd ~
git clone https://github.com/gcp/leela-zero

在当前用户的文件夹下,有一个名为leela-zero的子文件夹。为了和不同的Leela Zero区分,我将leela-zero的文件夹名称修改成了leela-zero-0.16

2.2. 编译Leela Zero应用程序

cd ~/leela-zero-0.16/src
brew install boost
make

命令make是编译Leela Zero应用程序,这个过程中可能会出现几个警告(warning)信息,可以忽略。

2.3. 获取最新网络权重文件

cd ~/leela-zero-0.16
curl -O https://zero.sjeng.org/best-network

因为best-network文件很大,上百M,这一步一定要保证正确完成,我之前因为没有完整下载best-network出现Leela Zero不落子的情况。下载好的best-network放在:
/Users/Li/leela-zero-0.16/best-network
(其中Li是用户Home文件夹名字,与我的用户名相同,你需要用自己的用户Home文件夹名进行替换。)

以上经过步骤2.1、2.2、2.3后,Leela Zero便下载安装完成了,Leela Zero可执行程序的位置放在:
/Users/Li/leela-zero-0.16/src/leelaz
请记住上面这个路径,随后在Sabaki中配置会使用到。


3. 用Sabaki配置Leela Zero引擎

运行Sabaki,点击菜单Engines下的子菜单Manage Engines...,Sabaki界面变化如下:

Sabaki菜单:Engines/Manage Engines...

一个引擎由四行配置组成,其中,
在第一行“(Unnamed Engine)”中输入Leela Zero引擎的命名,可以为“Leela Zero 0.16”(不含双引号,0.16表示当前Leela Zero引擎的版本)
在第二行“Path”中输入Leela Zero引擎对可执行程序的位置,可以为“/Users/Li/leela-zero-0.16/src/leelaz”(不含双引号,这里不可以使用~当前用户路径)
在第三行“No arguments“中输入Leela Zero引擎的运行参数,可以为“--gtp -w /Users/Li/leela-zero/best-network”(不含双引号,这是我设置的参数,-w之后是网络权重文件路径)
在第四行“Initial commands (; -separated)”中输入Leela Zero引擎的初始化命令,可以不填,也可以输入对局时间设置,比如“time_settings 0 5 1”(不含双引号,这个设置表示:5秒1步)

命名为“Leela Zero 0.16”的Leela Zero引擎

设置好之后,点击右下角Close按钮,Leela Zero引擎就配置好了。

我为了复盘分析专门配置了另一个名字为“Leela Zero Analysis”的Leela Zero引擎,与“Leela Zero 0.16”引擎不同的是,我没有为“Leela Zero Analysis”设置第四行“Initial commands (; -separated)”,即对“Leela Zero Analysis”引擎不进行时间限制。当然你也可以不这样做。

我的另一个命名为“Leela Zero Analysis”的Leela Zero引擎

4. 用Sabaki加载Leela Zero引擎进行对弈

在Sabaki中配置好Leela Zero引擎后,运行Sabaki(或者到Sabaki主界面),点击菜单Engines下的子菜单Attach...,Sabaki界面变化如下:

Sabaki菜单:Engines/Attach...

左面执黑,右面执白。
点击左或右的向下箭头选择引擎,其中Manual指不使用引擎,这里在右面(执白)选择命名为“Leela Zero 0.16”的Leela Zero引擎。

选择命名为“Leela Zero 0.16”的Leela Zero引擎执白

选择好引擎后,点击右下角OK按钮就可以开始人机对战了。

人(执黑)机(Leela Zero执白)对战开始

如果执黑执白都选择了Leela Zero引擎,比如黑白方都选择了“Leela Zero 0.16”的Leela Zero引擎,那么就是Leela Zero自战(左右互搏)了。

随时可以选择菜单Engines下的子菜单Suspend停止或子菜单Detach解绑Leela Zero。

如果完成以上设置后,Leela Zero仍然没有自动落子,请打开Sabaki的Preferences,在General下检查Automatically generate engine moves是否被选中,保证其被选中。


5. 用Sabaki加载Leela Zero引擎进行盘面分析

要用Sabaki加载Leela Zero引擎进行复盘(在Sabaki棋盘上显示Leela Zero推荐的带数字胜率),那么版本至少为Sabaki 0.40.1 + Leela Zero 0.16。

Sabaki 0.40.1

使用Sabaki打开要复盘的棋谱后,先点击菜单Engines下的子菜单Toggle GTP Console(引擎的运行信息则会在左侧显示出来,再此选择该子菜单左侧会消失,英文Toggle就是“切换”的意思。):

Sabaki菜单:Engines/Toggle GTP Console

点击菜单Engines下的子菜单Attach...,无论要复盘黑棋还是白棋,建议都选择Leela Zero引擎执白,这样不会让Leela Zero自动对战模式(自动落子),选择Leela Zero引擎(我选择“Leela Zero Analysis”引擎)执白后,点击右下角OK按钮,此时Leela Zero开始启动引擎(信息可以在左侧区域看到,直到下图中显示的最后一行出现后,说明Leela Zero引擎初始化完成)。

选择命名为“Leela Zero Analysis”的Leela Zero引擎执白进行盘面分析

Leela Zero引擎初始化完成后,在任何一步的局面下,点击菜单Engines下的子菜单Toggle Analysis(或按F4),Leela Zero引擎便开始进行盘面分析,Leela Zero每次只能分析当前盘面下的一步棋的概率,如果盘面发生变化,那么就需要再次点击菜单Engines下的子菜单Toggle Analysis(或按F4)进行分析。

使用命名为“Leela Zero Analysis”的Leela Zero引擎分析AlphaGo Zero(20blocks)自战第12局 

将鼠标悬停至推荐落子点,界面会把这一落子点的后续步骤显示出来,移开鼠标后,界面会被重置回当前状态。

鼠标悬停在推荐的落子位置

随时可以选择菜单Engines下的子菜单Toggle Analysis(或按F4)停止分析。

相关文章

网友评论

      本文标题:在苹果MacOS下使用Sabaki运行Leela Zero进行对

      本文链接:https://www.haomeiwen.com/subject/ufdgfqtx.html