lightvector / KataGo

GTP engine and self-play learning in Go
https://katagotraining.org/
Other
3.55k stars 565 forks source link

python/play.py support GUIs #664

Open qrdecomposition opened 2 years ago

qrdecomposition commented 2 years ago

Which GUIs are known to work with the GTP python/play.py?

I can't tell whether Lizzie works: I play a single move and Lizzie has been "Loading engine..." for 15min; however, when I look in the console, there is GTP output, like:

=1 KataGo Raw Neural Net Debug/Test Script 
=2 1.0 
=3  
=4  
=5 

Corresponding to

1 name
2 version
3 boardsize 19
4 komi 7.5
5 play D B4

I heard that GoGUI works but it has been deprecated for a long time.

For reference, this is the command used by Lizzie:

python play.py -model-config-json ../../data/kata1-b40c256-s11840935168-d2898845681/model.config.json -model-variables-prefix ../../data/kata1-b40c256-s11840935168-d2898845681/saved_model/variables/variables -name-scope swa_model

Thank you!

lightvector commented 2 years ago

GoGUI works yes, but really play.py is a very barebones GTP interface. All you can do is request it to play moves and manually run various debugging commands to inspect the output of the raw neural net, and has no support for real time analysis or time controls or any other fancy features. So it definitely won't work with Lizzie or any other programs that rely on extended GTP commands to perform real-time analysis.

The purpose of play.py is merely to provide a barebones vehicle for testing and debugging raw neural nets for developers, wherein you can do things like manually add print statements to the code to log what the neural net's outputs are to stderr or add other hacky code, and then use any basic GTP software (again, nothing fancy like Lizzie) to run some games, and then manually inspect the numbers that result, or even interact with play.py by hand on the command line, typing in GTP commands yourself to interactively debug the net.