General Recommendation
If you don’t care about squeezing out the very best performance for a particular situation and want a general-purpose net, stick with the network included in the official release (T75 or T79), which should do reasonably well under most common conditions.
Strongest Networks
Network Size | Purpose | Filters | Blocks | GPU Memory Usage | File Size | Recommendation |
---|---|---|---|---|---|---|
Large | GPU | 512 | 40 (or 20/15 with mish activation) | 2.2 GB | 100-300 MB | T78: 785469 (512x20mish)* (Right-click → “Save link as…") |
Medium | GPU | 384 | 30 | 1.9 GB | 130-140 MB | Last T60 384x30 network: 611246 (Right-click → “Save link as…") |
Medium | GPU | 320 | 24 | 1.5 GB | 70-80 MB | Last T60 320x24 network: 606511 (Right-click → “Save link as…") |
Small | CPU | 192 | 15 | - | 15-20 MB | Last T79 192x15 network: 792013* (Right-click → “Save link as…") |
Very Small | Sparring vs. Humans | ≤128 | ≤10 | - | ≤10 MB | see below |
* Network architecture requires latest LC0 binary v0.29: https://github.com/LeelaChessZero/lc0/releases, but will not work with opencl or dx12 backends.
If you’re getting out of memory
errors when using large networks on GPU, pick the next best network in the list or try adding --backend-opts=max_batch=256
to LC0 command (or UCI option: BackendOptions: max_batch=256
), default: 1024. This will reduce GPU memory usage without any negative impact on playing strength. With the cudnn backend you can also try --backend-opts=custom_winograd=false
or as a UCI option: BackendOptions: custom_winograd=false
.
DirectX12 backend for latest T78 networks is currently not available, in this case please choose either the last T78 512x40 network 782344 or last T60 611246 (384x30), both roughly equal in strength. Alternatively you can download the onnx-dml version that can use all the latest networks, see the included README file for instructions on how to get the directml.dll that can’t be included in the package for licensing reasons.
The most important consideration in choosing a net is picking the right size for your hardware and time controls. In general, if you have a weak GPU or no GPU and want to only spend milliseconds per move, then you want a smaller net that evaluates positions more quickly, i.e. higher NPS (nodes per second). On the other hand, if you have an RTX card(s) and you want to run analysis from a position hours at a time, then the quality of the evaluation is more important than the speed, and a larger (but slower) net is probably going to work best.
Network Lists
Listed for completeness, includes networks from older training runs. Some download links might be outdated.
In each section, the nets are listed roughly in descending order of strength. Some may be too close to tell apart.
30 blocks x 384 filters:
Name | Source for Download | Notes |
---|---|---|
Latest T60 after 606512 | lczero.org run 1 networks | Finished main run |
hanse-69722-vf2 | Contributed networks on Lc0 data | Trained from 609722 on T60 data, value focus emphasizes positions with eval discrepancies. See here |
J94-100 (outdated) | Contributed networks on Lc0 data | Based on Sergio-V networks, trained on T60 data + value repair method. TCEC22 DivP+SuFi net |
SV-3972+jio-20k (outdated) | Contributed networks on Lc0 data | Submitted for TCEC 18 Superfinal |
384x30-t60-3010 (outdated) | Contributed networks on Lc0 data | Won CCC13 and TCEC 17 |
24 blocks x 320 filters:
Name | Source for Download | Notes |
---|---|---|
T60 until 606511 | lczero.org run 1 networks | Finished main run |
J13B.2-136 | GitHub: jhorthos Leela Training | “Terminator 2” Net |
20 blocks x 256 filters:
Name | Source for Download | Notes |
---|---|---|
Leelenstein 15.0 | 15.0 Post | No account required |
SV-20b-t40-1541 | removed | Trained on T40 data |
42850 | training.lczero.org direct download | Last T40 net |
15/16 blocks x 192 filters:
Name | Source for Download | Notes |
---|---|---|
Latest T79 | lczero.org run 2 networks | Finished 2nd test run, LC0 v0.29 required |
Latest T75 | lczero.org run 3 networks | Finished 3rd test run |
Latest T76 | lczero.org run 2 networks | Finished 2nd test run |
Latest T77 | lczero.org run 2 networks | Finished 2nd test run |
J64-210 | GitHub: jhorthos Leela Training | Trained on T60 data |
J20-460 | GitHub: jhorthos Leela Training | Trained on T40 data |
10 blocks x 128 filters:
Name | Source for Download | Notes |
---|---|---|
Latest T74 | lczero.org run 2 networks | Finished 2nd test run |
128x10-t60-2-5300 | removed | Trained on T60 data |
Tinker TK-6430 | Google Drive | Trained on T60 data |
Latest J104 net | GitHub: jhorthos Leela Training | Based on T70 network 703810, trained on T70 data + value repair method |
703810 | training.lczero.org direct download | Last T70 net (not to be confused with T72) |
591226 | training.lczero.org direct download | Last T59 net |
Little Demon 2 | data.lczero.org repository (LD2) | JH nets also here |
Assorted sizes:
Size | Name | Source for Download | Notes |
---|---|---|---|
19b x 256f | T71.5-Armageddon-Chess | lczero.org run 3 network 715893 | Trained from scratch on Armageddon Chess |
19b x 256f | T71.4-FischerRandomChess | lczero.org run 3 network 714700 | Trained from scratch on Fischer Random Chess |
9b x 112f | ID11258-112x9-se | GitHub: dkappe Distilled Networks | Other sizes also here |
5b x 48f | Good Gyal 5 | GitHub: dkappe Bad Gyal | Other sizes also here |
2b x 16f | Tiny Gyal | GitHub: dkappe Bad Gyal | Other sizes also here |
If you still have questions, check the Discord channels. Be sure to specify your hardware and use case so the helpful regulars know what to recommend.