Skip to content

CGLemon/Sayuri

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Sayuri Art

Sayuri

Let's ROCK!

Sayuri is a GTP-compliant go engine based on Deep Convolutional Neural Network and Monte Carlo Tree Search. Learning the game of Go without strategic knowledge from human with AlphaZero-based algorithm. She is strongly inspired by Leela Zero and KataGo. The board data structure, search algorithm and network format are borrowed from Leela Zero in the beginning. Current version follows the KataGo research, the engine supports variable komi and board size now. Some methods or reports you may see my articles (some are chinese).

Quick Start via Terminal

First, you need a executable weights. Download the old v0.6 weights here or last v0.7 weights here. Some description of weights and RL progression is here. If you want to use the older network, please use the v0.5 engine at the save-last-v050 branch.

Then start the program with GTP mode via the terminal/PowerShell, please enter

$ ./sayuri -w <weights file> -t 1 -b 1 -p 400 --use-optimistic-policy

You will see the diagnostic verbose. If the verbose includes Network Verison information, it means you success to execute the program with GPT mode. For more arguments, please give the --help option.

$ ./sayuri --help

Execute Engine via Graphical Interface

Sayuri is not complete engine. You need a graphical interface for playing with her. She supports any GTP (version 2) interface application. Sabaki and GoGui are recommended because Sayuri supports some specific analysis commands.

  • Sabaki analysis mode

sabaki-sample01

  • GoGui analysis commands

gogui-sample01

Build From Source

Please see this section. If you are Windows platform, you may download the executable file from release page.

Reinforcement Learning

Sayuri is a fairly fast self-play learning system for the game of Go. The current performance is apparently better than KataGo g104 which is one of fastest system in 2019s. The pictute shows the performance of v0.6 engine (orange point) versus KataGo and LeelaZero. The picture source is here. Here will describe how to build the self-play loop.

vs-kata

Todo

  • Support NHWC format.
  • Support distributed computation.
  • Support KataGo analysis mode.

Other Resources

License

The code is released under the GPLv3, except for threadpool.h, cppattributes.h, Eigen and Fast Float, which have specific licenses mentioned in those files.

Contact

cglemon000@gmail.com (Hung-Tse Lin)