leela zero的命令行参数介绍

时间:2020-11-01 10:11:28 来源:彩虹批发市场  阅读:(25) 收藏
转载:

在之前分享过围棋AI包含两部分: 图形用户界面程序sabaki和leela zero引擎. 其中leela zero以命令行方式运行. 如下所示,我们可以直接用引擎下棋, 只是太不用户友好. 所以有很多围棋AI用户界面程序. 为了让用户界面程序和引擎对接,必须对接才行. 接下来主要分享配置leela zero引擎的参数,这些参数都是什么意思,有什么作用?

在之前分享过围棋AI包含两部分: 图形用户界面程序sabaki和leela zero引擎. 其中leela zero以命令行方式运行. 如下所示,


leela zero的命令行参数介绍

以命令行方式运行leela zero

我们可以直接用引擎下棋, 只是太不用户友好. 所以有很多围棋AI用户界面程序. 为了让用户界面程序和引擎对接,必须对接才行. 接下来主要分享配置leela zero引擎的参数,这些参数都是什么意思,有什么作用?

leela zero的命令行参数介绍

配置leela zero引擎

上面的第一行指明leelaz可执行程序在磁盘的位置,

-g(--gtp) 表明leela zero要启动gtp模式,图形用户界面程序sabaki通过gtp和leela zero通讯 -g是--gtp的简写,作用相同.

-r(--resignpct) 0 指明只有当胜率降到0时才认输。如果不设定,默认到胜率到10%就认输。

--noponder 禁止对手在下棋时,leelazero也在思考。

-w(--weights) 指明权重文件的位置。

-p (--playouts)限定围棋AI搜索的playout数目。通过这个可以限定AI的棋力。

-v(--visits) 限定AI对当前点的访问次数,跟-p差不多。

-t (--threads) 启动几个线程进行搜索。设为0让AI自己选一个合适的线程数量。

-b (--lagbuffer) 以厘秒来设定搜索的缓冲,之前的章节中讲过,设置10秒一步,引擎日志会显示最多思考9秒。另外1秒就是缓冲。因为有多个线程在递归搜索时,时间不能精确控制什么时候结束。我的建议是最好不要这个为0.

以上是leelaz提供的命令行参数。也是在上图第二行可以配置的。

接下来将gtp提供的常用的命令的用法。

time_settings 0 10 1第一个参数用来设定一盘棋需要多长时间,0表示没有限定,第二和第三个参数用来设定几步棋用几秒,10 1表示一步10秒。

heatmap用来显示当前棋形的所有热点。很多图形用户界面都提供了分析功能,比这个强大很多。

lz-memory_report可以显示当前的内存使用情况。

另外一个比较强大的是lz-setoption. 这个命令可以动态修改最大内存,cache的比例,playout以及visit的个数,认输胜率等。之前说过leela zero默认对64位操作系统设定4G内存用来存放搜索树,如果机器足够强大,这个值小了怎么办?

可以用以下的命令来修改。

lz-setoption name Maximum Memory Use (MiB) value 5120

= Setting max tree size to 4393 MiB and cache size to 488 MiB.

同时为了提高速度,也可以提高cache的比例(默认是10%,提高到20%)。

lz-setoption name Percentage of memory for cache value 20

= Setting max tree size to 3904 MiB and cache size to 976 MiB.

如果你的机器足够强大,引擎配置可以如下:

leela zero的命令行参数介绍

配置更大的内存

标签:

热门排行

猜你喜欢

热门标签

扫描二维码打开

周一至周六

9:00-22:00                  

彩虹批发市场    Copyright © 2010 - 2020 http://www.chpfsc.com/ All Rights Reserved