That is interesting. I send each fen to a setboard() routine where it also converts to a binary position. Buffers are cleared, legality tests are done, pawn hash is cleared and re-evaluated. 4 million positions would take about 20 hours to do this for my engine, so I am not sure what might be taking so long. Pre-processing has cured all this for me.Joost Buijs wrote: ↑Sun Sep 06, 2020 9:29 am I just read all the fens (about 4 million) at the start of the tuning process, convert them to binary positions and keep them in memory, this whole process takes a few seconds at most.
The "quiet-labeled.epd" was created by the Zurichess author. The purpose was to create a file that had already been tested with quiescence. Thus, only a single evaluation needs to be done.To determine the error I call quiescence instead of the evaluation function, this is a bit time consuming though, tuning all the weights from zero including the psqt's takes about 30 mins on my 32 core machine, only re-tuning them goes a lot faster of course.
I intend to fix all my piece values as per the Xiphos method which I posted here:When I tune from zero I keep the pawn value for the opening phase fixed at 70 CP as an anchor to keep the weights in line with what I would like to see.
http://talkchess.com/forum3/viewtopic.p ... os#p778360
Most of my recent elo gains have not been from tuning, but from improved move ordering, mobility scoring and king safety. The purpose of re-opening the tuner was to create a larger PST[piece][sq][enemy king] table, and to see if it might give a strength gain. This PST method is being used in the NN approaches for evaluation.