lightvector / KataGo

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

How should I learn with your code? #409

Open IAMONLYERIC opened 3 years ago

IAMONLYERIC commented 3 years ago

Hello, I am a student of artificial intelligence and a big fan of Go. I am glad to see your contribution to Go, and I would like to make my own contribution, but before that, what pre-knowledge should I have in order to use your code independently? For example, similar to reinforcement learning and Monte Carlo search related knowledge, do I need to read the papers of the alpha series? If I run and train a program independently, can I only use the python code in your repository and not pay attention to the cxx code? Looking forward to your answer, thank u.

lightvector commented 3 years ago

That's a very big question because it depends on what exactly you want to do.

Have you started by making sure you can compile KataGo and that it works for you as an engine with your favorite GUI or analysis tool? https://github.com/lightvector/KataGo#compiling-katago

Have you read the two pages linked here that cover what the different source files do? https://github.com/lightvector/KataGo#source-code-overview And if you are interested in training your own run, you should read the "Selfplay Training" section right below that. (and yes, also read the AlphaZero papers). Be aware that part of the code is less polished than the broader user-focused parts, and is much more fragile to versions of software ad libraries, so it make take work to set up.

If you want to write a user-facing tool, you might be interested instead in https://github.com/lightvector/KataGo/blob/master/docs/Analysis_Engine.md