Need help with SuperGo?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

237 Stars 51 Forks 75 Commits 2 Opened issues


A student implementation of Alpha Go Zero

Services available


Need anything else?

Contributors list

# 258,248
15 commits


A student implementation of AlphaGo Zero paper with documentation.

Ongoing project.

TODO (in order of priority)

  • Do something about the process leaking
  • File of constants that match the paper constants ?
  • OGS / KGS API ?
  • Use logging instead of prints ?


  • Optimizations
  • Clean code, create install script, write documentation
  • Trying to see if it learns something on my computer


  • Statistics (branch statistics)
  • Game that are longer than the threshold of moves are now used
  • MCTS
    • Tree search
    • Dirichlet noise to prior probabilities in the rootnode
    • Adaptative temperature (either take max or proportionally)
    • Sample random rotation or reflection in the dihedral group
    • Multithreading of search
    • Batch size evaluation to save computation
  • Dihedral group of board for more training samples
  • Learning without MCTS doesnt seem to work
  • Resume training
  • GTP on trained models (, to plug with Sabaki)
  • Learning rate annealing (see this)
  • Better display for game (, converting self-play games into GTP and then using Sabaki)
  • Make the 3 components (self-play, training, evaluation) asynchronous
  • Multiprocessing of games for self-play and evaluation
  • Models and training without MCTS
  • Evaluation
  • Tromp Taylor scoring
  • Dataset ring buffer of self-play games
  • Loading saved models
  • Database for self-play games


  • Compile my own version of Sabaki to watch games automatically while traning
  • Resignation ?
  • Training on a big computer / server once everything is ready ?


Statistics, check branch stats

For a 10 layers deep Resnet

9x9 board


19x19 board

Differences with the official paper

  • No resignation
  • PyTorch instead of Tensorflow
  • Python instead of (probably) C++ / C

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.