I'm trying to get the maia chess engine (using maia-1900 weights https://github.com/CSSLab/maia-chess/tree/master/maia_weights) to run in python-chess.
I have the following code:
engine_path = r"C:\Users\brent\Documents\Chess\lc0-v0.28.2-windows10-gpu-dx12\lc0.exe"
weights_path = r"C:\Users\brent\Documents\Chess\lc0-v0.28.2-windows10-gpu-dx12\maia-1900.pb.gz"
maia_handler = EngineHandler(engine_path,weights_path)
board = chess_old.Board()
maia_handler.getBoardProbs(board, nodes = 1)
the handler functions come directly from the maia git page: https://github.com/CSSLab/maia-chess/blob/master/move_prediction/maia_chess_backend/uci.py
and chess_old is the chess.uci package (version 0.25.0 which is the one that is supposed to be compatible with maia)
The output of this should be a list of moves, along with the probabilities associated with each one. However, I get the following output:
(BestMove(bestmove=Move.from_uci('b1a3'), ponder=None), ['b1a3 (34 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'b1c3 (36 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'g1f3 (159 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'g1h3 (161 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'a2a3 (204 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'a2a4 (207 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'b2b3 (230 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'b2b4 (234 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'c2c3 (259 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'c2c4 (264 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'd2d3 (288 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'd2d4 (293 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'e2e3 (317 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'e2e4 (322 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'f2f3 (346 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'f2f4 (351 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'g2g3 (374 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'g2g4 (378 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'h2h3 (400 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'h2h4 (403 ) N: 0 (+ 0) (P: 5.00%) (WL: -.-----) (D: -.---) (M: -.-) (Q: -0.00000) (U: 0.08726) (S: 0.08726) (V: -.----)', 'node ( 20) N: 1 (+ 0) (P: 0.00%) (WL: -0.00000) (D: 0.333) (M: 0.0) (Q: -0.00000) (V: 0.0000)'])
As you can see, every move has the same probability. I know the NN file I have is accurate because when I play on Fritz it works as expected, but I don't know what is causing the outputs to fail.
P.S. I also tried setting Nodes = 0. This gives slightly different output in which the N values and the WL/D ratios exist, but the P values are still set to 5% and the WL/D ratios don't seem to provide meaningful information either.
What am I missing here?