python-chess icon indicating copy to clipboard operation
python-chess copied to clipboard

Document info line aggregration

Open DanijelDomazet opened this issue 2 months ago • 4 comments

I've unzipped stockfish-ubuntu-x86-64-avx2.tar and copied only the binary stockfish-ubuntu-x86-64-avx2 to /usr/games/.

I tried to use the chess engine for analysis, but it gives very wrong chess move evaluations. Then I checked with this code:

#!/usr/bin/env python3
import chess
import chess.engine

STOCKFISH_CMD = "/usr/games/stockfish-ubuntu-x86-64-avx2"

with chess.engine.SimpleEngine.popen_uci(STOCKFISH_CMD) as eng:
    # tiny search so we get an 'info string' line back
    info = eng.analyse(chess.Board(), chess.engine.Limit(depth=16))
    banner = info.get("string", "<no NNUE string found>")
    print("Loaded network:", banner)

and got the info:

Loaded network: NNUE evaluation using nn-37f18f62d772.nnue (6MiB, (22528, 128, 15, 32, 1))

Why is Stockfish loading small 6 MB engine instead of normal large one?

When I do /usr/games/stockfish-ubuntu-x86-64-avx2 go depth 1 it gives me the output:

Stockfish 17.1 by the Stockfish developers (see AUTHORS file)
info string Available processors: 0-11
info string Using 1 thread
info string NNUE evaluation using nn-1c0000000000.nnue (133MiB, (22528, 3072, 15, 32, 1))
info string NNUE evaluation using nn-37f18f62d772.nnue (6MiB, (22528, 128, 15, 32, 1))
info depth 1 seldepth 2 multipv 1 score cp 17 nodes 20 nps 20000 hashfull 0 tbhits 0 time 1 pv e2e4
bestmove e2e4

So the big NNUE is there.

I tried the

eng.configure({"EvalFile": "nn-1c0000000000.nnue"}) 

That too does not work.

Please help, how do I force it to load proper Stockfish?

DanijelDomazet avatar Oct 15 '25 10:10 DanijelDomazet