KaTrain
KaTrain 是一个用于分析棋局的工具,并使用 KataGo 的 AI 反馈进行围棋对弈:
- 审查您的棋局,找出损失分数最严重的走棋。
- 与 AI 对弈,获取即时反馈并可选择重试。
- 与多种风格的削弱版 AI 对弈。
- 自动生成重点突出的 SGF 评论,展示您最大的错误。
使用手册
预览和 YouTube 视频
安装说明
- 请参见发布页面以获取 Windows 和 macOS 的可下载可执行文件。
- 或者使用
pip3 install -U katrain
从 PyPI 安装最新版本,适用于任何 64 位操作系统。 - 在 macOS 上,也可以使用
brew install katrain
安装应用程序。 - 此页面 有 Windows、Linux 和 macOS 的详细安装说明,以及故障排除和设置 KataGo 以使用多个 GPU 的方法。
配置 KataGo
KaTrain 预装了适用于 Windows、Linux 和旧版 Mac 操作系统且工作正常的 KataGo(OpenCL 版本),以及较旧的 15 层模型。
要更改模型,请在应用程序中打开“通用和引擎设置”,然后选择“下载模型”。您可以从下拉菜单中选择所需的模型。
要更改 KataGo 二进制文件,例如如果您没有 GPU 需要使用 Eigen/CPU 版本,请点击“下载 KataGo 版本”。 您可以从下拉菜单中选择 KataGo 二进制文件。 CUDA 和 TensorRT 版本也可在 KataGo 发布网站 上获得。特别是后者可能在 NVIDIA GPU 上提供更好的性能,但设置会更复杂:详见此处。
最后,您可以覆盖用于启动分析引擎的整个命令,这对于连接到远程服务器非常有用。但请注意,KaTrain 使用 KataGo 的分析引擎,而不是 GTP 引擎。
与 AI 对弈
- 在主菜单或“新游戏”中选择玩家。
- 在教学对局中,KaTrain 会分析您的走棋并自动撤销那些重大错误的走棋。
- 与 AI 对弈时,请注意“撤销”按钮会撤销 AI 的最后一步和您的最后一步。
即时反馈
走棋上的点表示该走棋损失的分数。
- 颜色表示 KataGo 认为错误的严重程度
- 大小表示错误是否实际被惩罚。从最大尺寸表示完全被惩罚,到最小尺寸表示对分数没有实际影响。
简而言之,如果您是实力较弱的玩家,应该主要关注红色或紫色的大点,而实力较强的玩家则可以更多关注较小的错误。如果您希望隐藏棋盘上的某些颜色,或者不在 SGF 中输出这些颜色的详细信息,可以在“配置教师”中进行设置。
AI
本节介绍了可用的 AI。
在“AI 设置”中,已测试和校准的设置位于顶部并颜色较浅,改变这些设置会显示等级估计。 只要您没有更改其他设置,该估计应相当准确。
- 严肃对弈的推荐选项包括:
- 较早开发的传统选项包括:
- ScoreLoss 是 KataGo 像往常一样分析,但根据预期的得分损失选择潜在走棋,导致风格多样且大多有小错误。
- Policy 使用策略网络的顶级走棋(它的“形状感”而不进行阅读)。
- Policy Weighted 随机选择一个基于政策的走棋,导致风格多样,主要是小错误,也偶有因缺乏阅读能力而犯的大错误。
- Blinded Policy 随机选择一些走棋并选择其中最好的走棋,每回合对棋盘某部分视而不见。校准等级基于相同思路,推荐选择此选项。
- 更加“有趣和实验性”的选项包括:
- 具有变体的Blinded Policy,采用相同的基本策略,但有所不同:
- Local Style 主要考虑接近上一步的走棋。
- Tenuki Style 主要考虑远离上一步的走棋。
- Influential Style 主要考虑 4 线以上的走棋,导致以中央为导向的风格。
- Territory Style 则相反,偏向于 1-3 线的走棋。
- KataJigo 是 KataGo 尝试以 0.5 分获胜,通常通过对您的错误立即做出错误回应。
- KataAntiMirror 是 KataGo 假设您在下影子棋并在盈利时突破影子棋。
- 具有变体的Blinded Policy,采用相同的基本策略,但有所不同:
基于引擎的 AI(KataGo、ScoreLoss、KataJigo)受模型、选择的访问次数和最长时间的影响,而基于策略网络的 AI 受模型文件选择的影响,但与 1 次访问的工作原理相同。
关于这些 AI 的进一步技术细节和讨论可以在这个 19x19 论坛帖子中找到。
分析
KaTrain 的分析选项允许您在棋局中的任何时候探索变化并请求引擎进行更深入的分析。
键盘快捷键以 [键] 形式显示。
-
[Tab]: 切换分析模式和对弈模式。
- 在分析模式下,AI 走棋、教学模式和定时器将被暂停。
- 分析选项和右侧面板及选项的状态会分别保存用于“对弈”和“分析”,允许您快速在更加简洁的“对弈”模式和更复杂的“分析”模式之间切换。
-
屏幕顶部的复选框:
- [q]: 显示子走棋。默认开启,可以关闭以避免遮挡其他信息或当想要猜测下一个走棋时。
- [w]: 显示所有点:切换是否在最后几步走棋上显示颜色评估“点”。
- 您可以在“教学/分析设置”中配置阈值以及显示最后几个走棋的数量。
- [e]: 顶级走棋:显示 KataGo 考虑的下一个走棋,用预期得分损失进行着色。小而浅的点表示高不确定性且永远不显示文本(低于您的“快速访问”设置)。将鼠标悬停在任何一个点上可查看主变。
- [r]: 策略走棋:显示 KataGo 的策略网络评估,即在没有任何“阅读”的情况下它认为最佳的下一个走棋的地方。这会关闭“顶级走棋”设置,因为两者重叠通常没用。
- [t]: 预期地盘:显示每一交叉点的预期拥有权。
-
“分析”按钮下的分析选项用于对局面的深入评估:
- [a]:更深入的分析:使用更多次访问重新评估局面,通常会得出更准确的评估。
- [s]:均衡访问次数:以当前最高的访问次数重新评估所有当前显示的下一步走法。这有助于提高对高不确定性建议的信心。
- [d]:分析所有走法:评估所有可能的下一步走法。即使使用“快速访问”,这也可能需要一些时间,但可以显示有多少合理的下一步走法可用。
- [f]:寻找替代方案:增加对当前候选走法的分析至少达到“快速访问”级别,并请求新的查询,排除所有当前候选走法。
- [g]:选择感兴趣的区域:设置一个区域,并只搜索该区域内的走法。适用于解决题目需。请注意,由于需要建立最佳走法的基线,一些结果可能会出现在区域外,对手可能在变化中打劫。
- [h]:重置分析。这会将分析恢复到引擎在正常查询后返回的状态,移除任何额外的探索。
- [i]:启动插入模式。允许你插入走法,以改善在双方忽略重要交换或生死局面的情况下的分析。再次按下停止插入并复制其余的分支。
- [l]:将游戏下完并添加为折叠分支,以可视化错误的潜在影响。这是在后台完成的,并可以在比较不同起始位置的结果时一次性在多个节点上启动。
- [空格键]:打开/关闭连续分析。这将持续改进当前局面的分析,类似于Lizzie的“思考”模式,但仅当没有其他查询时。
- [shift+空格键]:同上,但在关闭时不会打开“最佳走法”提示。
- [Enter]:AI落子。不管当前选择的玩家是谁,使AI为当前玩家落子。
- [F2]:更深入的完整游戏分析。以更高的访问次数分析整个游戏。
- [F3]:性能报告。显示双方的性能统计概况。
- [F10]:题目框架。在角落/边界放置问题后,使用此功能填充棋盘其余部分,以提高AI解决生死问题的能力。
键盘和鼠标快捷键
除了上述快捷键和主菜单中显示的快捷键外:
- [Alt]:打开主菜单。
- [~] 或 [ ` ] 或 [F12]:循环切换更简洁的UI模式。
- [k]:切换棋盘坐标的显示。
- [p]:让子。
- [pause]:暂停/恢复计时器。
- [左箭头] 或 [z]:撤销一步。按住shift撤销10步,或者按住ctrl跳到开始。
- [右箭头] 或 [x]:重做一步。按住shift重做10步,或者按住ctrl跳到结尾。
- [上/下箭头]:切换分支,如在棋谱树中所预期的那样。
- [home/end]:跳到游戏的开头/结尾。
- [pageup]:将当前选中的节点设为主分支。
- [Ctrl-delete]:删除当前节点。
- [c]:从当前节点到上一个分叉点折叠/展开分支。
- [b]:返回到上一个分叉点。
- [Shift-b]:返回主分支。
- [n]:如同点击红色向前箭头,跳到人类玩家的下一个错误(橙色或更差)前的一步。
- [Shift-n]:如同点击红色向后箭头,跳到人类玩家的上一个错误前的一步。
- [滚动鼠标]:
- 当光标悬停在右侧面板时:重做/撤销走法。
- 当光标悬停在候选走法上时:滚动浏览主变。
- [中间/滚轮点击]:将主变添加到走法树中。滚动时,只添加到你正在查看的点的走法。
- [点击某一步]:查看前一步的详细统计数据,以及替代这一走法的最佳走法。
- [双击某一步]:直接跳到那一步之前的局面。
- [Ctrl-V]:从剪贴板加载SGF并对游戏进行“快速”分析(对最后一步进行优先的正常分析)。
- [Ctrl-C]:将SGF保存到剪贴板。
- [Escape]:停止所有分析。
贡献于分布式训练
从2020年12月起,KataGo开始分布式训练。 这允许人们一起生成自对局游戏,以提高KataGo的实力并训练更大的模型。
KaTrain 1.8.0+使贡献于分布式训练变得容易:只需从主菜单中选择此选项,注册一个账户,然后点击运行。 在此模式下,你只能观看游戏。
请记住,部分游戏不会上传, 因此最好计划至少运行一小时,如果不是几个小时,那么将更有效地贡献。
在此模式下,有几个键盘快捷键具有特殊功能:
- [空格键]:在手动导航当前游戏和自动前进之间切换。
- [Escape]:这会发送
退出
命令给KataGo,开始缓慢关闭,完成部分游戏但不启动新游戏。仅适用于1.11+版本。 - [Pause]:通过KataGo v1.11中引入的
暂停
和恢复
命令暂停/恢复贡献。
主题
请参阅这些说明以修改任何图形或颜色的外观,并创建或安装主题。
FAQ
- 程序运行太慢。我该如何提高速度?
- 在设置中调整访问次数或允许的最大时间。
- KataGo因“内存不足”错误崩溃,我该如何防止这种情况?
- 尝试在
KataGo/analysis_config.cfg
中使用较低的nnMaxBatchSize
,并避免使用大棋盘尺寸编译的版本。 - 如果仍然遇到问题,请单独启动KataGo以检查其是否给出任何错误。
- 请注意,如果你没有GPU,或者你的GPU不支持OpenCL,你应该使用运行在CPU上的“eigen”二进制文件。
- 尝试在
- 字体大小太小
- 在一些超高分辨率显示器上,带有文本的对话框和其他元素可能显得太小。请参阅这些说明进行调整。
- 应用程序因“无法找到任何有价值的cutbuffer提供者”错误而崩溃
- 使用
sudo apt-get install xclip
安装xclip。
- 使用
支持 / 贡献
- 一切想法、反馈以及对代码或翻译的贡献都非常欢迎。
- 对建议和计划改进,请查看开放问题以查看功能是否已被计划。
- 你可以加入计算机围棋社区Discord(前Leela Zero & Friends)(使用#gui频道)以获取帮助,讨论改进,或者只是表达你的赞赏。请不要使用github问题来寻求技术帮助,这仅用于报告错误、提供建议和讨论贡献。