← all repositories
maxpumperla/betago

AlphaGo for the rest of us, now archived with its dreams

A 2016-era toolkit that let hobbyists train neural-network Go bots without a Google-sized budget.

690 stars Python Domain AppsML Frameworks
betago
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does BetaGo is a Python pipeline for building your own Go engine: it downloads game records, preprocesses board positions into multi-channel tensors, trains a Keras neural network to predict moves, and serves the result through a Flask API to a browser-based UI. The whole thing ships as a pip-installable package with a one-command demo.

The interesting bit The project leans hard into its underdog premise — “We are the 99%! We are Lee Sedol!” — and actually delivers a working end-to-end system circa 2016, when AlphaGo was headline news and reproducible Go AI was scarce. The SevenPlaneProcessor encodes board state as seven 19×19 planes (liberties, ko, etc.), a design borrowed from Clark & Storkey’s academic work.

Key highlights

  • Complete pipeline: data download → preprocessing → Keras training → Flask serving → browser UI
  • Two built-in processors (SevenPlaneProcessor, ThreePlaneProcessor) with an extensible base class
  • KerasBot falls back to legal moves when the network suggests illegal ones; IdiotBot provides a random baseline
  • Docker support for containerized demo runs
  • UI built on a fork of jgoboard, a lightweight JavaScript Go renderer

Caveats

  • Archived and unmaintained: the author explicitly stepped away and is seeking a new owner
  • Uses Keras 1.0-era APIs (Convolution2D, border_mode, nb_epoch) that will not run on modern TensorFlow without migration
  • The demo bot “plays reasonable moves, but is still rather weak” — no match for even 2016-era open-source engines
  • README warns that loading too much KGS data at once will crash your application

Verdict Worth a look if you’re studying the history of hobbyist Go AI or need a pedagogical example of a full ML pipeline from raw data to interactive deployment. Skip it if you want to actually train a competitive bot — Leela Zero, KataGo, and modern tools have left this in the dust, and the bit-rotted dependencies are a time sink.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.