Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Minigo is an open-source Python and TensorFlow implementation of Go-playing and self-play training techniques inspired by AlphaGo Zero. It is not DeepMind’s AlphaGo software: Minigo is an independent project, and its GitHub repository has been archived and read-only since March 11, 2021. In 2026, it is most useful as a historical codebase to study—not as a straightforward modern Go engine to install.

Minigo at a glance

Question Answer
What is it? An independent Go engine and reinforcement-learning project implementing AlphaGo Zero–style ideas.
Language and framework Python, with TensorFlow-based neural-network code and supporting build and infrastructure tools.
Official DeepMind software? No. The project describes itself as an independent effort inspired by AlphaGo Zero.
Project status Archived and read-only since March 11, 2021.
License shown by the repository Apache-2.0; review bundled dependencies, model weights, and datasets separately before reuse.
Best use today Studying a readable historical self-play training pipeline and its engineering components.

The source and project status are documented in the Minigo repository. Its association with TensorFlow and use of Google Cloud infrastructure do not make it an official DeepMind release.

How Minigo relates to AlphaGo and AlphaZero

The names describe related but distinct systems. DeepMind’s original AlphaGo used policy and value neural networks together with search, and initially learned from expert human games before reinforcement learning. AlphaGo Zero moved away from human game records, learning Go through self-play from the rules. AlphaZero generalized the self-play approach to chess, shogi, and Go.

System What distinguishes it Relationship to Minigo
AlphaGo DeepMind’s original Go system combined neural networks and search; its learning included expert games. DeepMind’s overview describes its policy and value networks. Minigo’s starting point was MuGo, a pure-Python implementation of the original AlphaGo paper.
AlphaGo Zero Learned Go from self-play rather than relying on human game records. Minigo implements and explores ideas from this later approach, independently.
AlphaZero Applied a self-play approach across Go, chess, and shogi. DeepMind’s AlphaZero overview describes the broader system. Minigo is focused on Go, not a complete recreation of AlphaZero or DeepMind’s internal systems.
Minigo An open-source research and educational implementation with code for play, training, evaluation, and infrastructure. Useful for examining how an AlphaGo Zero–style Go project is assembled; not official DeepMind code.

How the Minigo training loop works

Minigo is more than a neural network that chooses a move. Its value as a case study comes from the loop around the network: search helps choose moves, self-play creates examples, training updates the model, and evaluation determines whether a candidate should advance.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
  1. Represent the board and legal moves. The engine maintains Go positions and handles legal-move rules.
  2. Evaluate positions with a neural network. The model returns a policy, which estimates promising moves, and a value, which estimates the likely game outcome.
  3. Search with Monte Carlo Tree Search. MCTS combines network guidance with exploration of candidate continuations to select a move.
  4. Generate self-play games. The current model plays games against itself, producing positions and search-informed move choices for training.
  5. Train a candidate model. Training uses generated data to improve the policy and value predictions.
  6. Evaluate and manage models. Candidates can be compared with earlier models or other engines; checkpoints and exported models support this cycle.
  7. Use the engine through GTP. The Go Text Protocol allows compatible clients to send commands and receive moves, but is not itself a graphical interface.

This follows the general AlphaZero pattern of a policy/value network guiding MCTS, with self-play supplying training data. OpenSpiel’s AlphaZero documentation offers a conceptual breakdown of actors, search, evaluators, learners, checkpoints, and analysis tools.

What is in the repository?

The repository brings together components for the full research-engineering cycle. Its modules include mcts.py for search, minigo_model.py for model code, selfplay.py and train.py for generating data and learning, and evaluate.py for evaluation. Go logic, GTP support, model management, and cloud or cluster workflows round out the project. See the repository for the source tree and its project documentation.

That breadth matters: Minigo is useful for following how game logic, inference, search, training data, model promotion, and distributed workers fit together. It is not a small, dependency-free Python script.

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

What can you do with Minigo today?

Read and study the implementation

This is the strongest current use. You can trace MCTS, policy/value outputs, self-play data generation, training, evaluation, GTP communication, and distributed infrastructure. The code offers a historical example of how those pieces were assembled in a Go-focused project.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Run an existing model

To play or generate games, the code needs a compatible exported model. The documented workflow downloads a model’s related files and passes its basename or path through --load_file; the model is not necessarily one modern, self-contained artifact such as a single ONNX file. Confirm the checkpoint format, board size, and network configuration match the code before launching it.

The repository’s historical self-play example is:

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
python3 selfplay.py 
  --verbose=2 
  --num_readouts=400 
  --load_file=$MINIGO_MODELS/models/$MODEL_NAME

These are historical commands, not a guarantee that the same setup will run on a current operating system or package stack.

Connect it to a Go client with GTP

Minigo’s gtp.py provides a protocol interface. Its documented invocation is:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
python3 gtp.py 
  --load_file=$LATEST_MODEL 
  --num_readouts=$READOUTS 
  --verbose=3

A GTP client can send commands such as genmove [color], play [color] [coordinate], and showboard. A compatible graphical interface, tournament harness, or command-line client is a separate piece of software; Minigo does not provide a polished Go GUI. The repository names gogui-display and gogui-twogtp as examples of compatible tools.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

Train a model

The historical local training sequence begins with a bootstrap model, generates self-play games, trains on the resulting data, and then evaluates successive models. Example commands from the repository include:

python3 bootstrap.py 
  --work_dir=estimator_working_dir 
  --export_path=outputs/models/000000-bootstrap
python3 selfplay.py 
  --load_file=outputs/models/$MODEL_NAME 
  --num_readouts 10 
  --verbose 3 
  --selfplay_dir=outputs/data/selfplay 
  --holdout_dir=outputs/data/holdout 
  --sgf_dir=outputs/sgf
python3 train.py 
  outputs/data/selfplay/* 
  --work_dir=estimator_working_dir 
  --export_path=outputs/models/000001-first_generation

These show the shape of the workflow, not a tested 2026 setup. Training from scratch is substantially more involved than loading a checkpoint: it generates large datasets, needs compute for both search and training, and requires evaluation and model management. Minigo’s large historical runs used accelerator infrastructure and distributed workflows; a laptop experiment should not be confused with reproducing those runs.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Why the original installation instructions are dated

The repository’s setup instructions target Python 3.5 or newer, Bazel 0.24.1, TensorFlow 1.15.0, and CUDA 10.0 for its documented GPU path. They also mention virtualenv, Docker, and Google Cloud tools for relevant workflows. These are historical requirements, not a current compatibility promise.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
  • Python 3.5 is obsolete, and TensorFlow 1.15 is an end-of-life release.
  • CUDA 10.0 is not a routine dependency for current GPU systems.
  • Modern operating systems, compilers, package indexes, GPU drivers, and hardware may not match the assumptions of the original build.
  • Updating Python, TensorFlow, Bazel, or CUDA one at a time can break compatibility across the stack.

The README’s old sequence includes installing the specified Bazel installer, installing requirements.txt, and choosing the CPU package tensorflow==1.15.0 or historical GPU package tensorflow-gpu==1.15.0. Its Bazel installer example is Linux-oriented. Treat those as archival instructions; do not assume they work unchanged today. For reproducibility, a historically compatible container or virtual machine is more plausible than casually mixing old dependencies with a modern environment, and even containerization does not resolve every driver or hardware issue.

What Minigo reported achieving

Minigo’s own RESULTS.md records historical experiments, not current independent rankings. It reports a run of roughly 700,000 training steps and about 14 million self-play games. A later run reported 22 million games across 865 models in about two weeks. These results used substantial infrastructure, including Cloud TPU resources.

The project also reported a 100% win rate for a top model against friendly professional players who tested it, while noting that the model did not beat the best Leela Zero model then available to the project. Those statements describe the project’s historical reports and testing context; they do not establish a current competitive position.

Minigo, OpenSpiel, or KataGo?

The right choice depends on whether you want to study a historical implementation, experiment with algorithms across games, or use a practical Go engine. The comparison below is a purpose-based guide, not a current benchmark.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Project Best fit Implementation emphasis Practical consideration
Minigo Studying a Go-focused historical self-play pipeline. Python and TensorFlow, with cloud, Kubernetes, and accelerator workflows. Archived; its original dependencies are difficult to reproduce unchanged.
OpenSpiel AlphaZero Research and experimentation across multiple games. General game-playing framework with Python and C++ AlphaZero implementations. The documentation says the Python implementation runs inference and training on CPU without batched inference; the C++ implementation supports batching and GPU use.
KataGo Playing and analyzing Go with a practical engine. Primarily C++, with GTP, analysis support, and multiple hardware-backend options described by the project. Better aligned with practical Go play and analysis than Minigo’s archived research stack; Python integrations are also available.

Minigo is the more focused historical Python codebase; OpenSpiel is a broader framework, and KataGo is the practical direction when the goal is Go play or analysis. These projects serve different purposes rather than representing interchangeable implementations.

Verdict: a useful historical codebase, not a modern AlphaGo replacement

Use Minigo to understand how a Go engine can combine neural policy and value estimates, MCTS, self-play, training, evaluation, and infrastructure. Use OpenSpiel when the experiment should span multiple games, and KataGo when the goal is practical Go play or analysis. Minigo’s archived status and old dependency stack make it a poor choice for an easy, maintained installation or production deployment.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.