Edit on wiki

Best Nets for Lc0

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.

Last Updated: 2022-12-18