nnue-gui 1.0 released

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

kranium
Posts: 2129
Joined: Thu May 29, 2008 10:43 am

Re: nnue-gui 1.0 released

Post by kranium »

ChickenLogic wrote: Thu Jun 18, 2020 12:07 am This GUI would be complete if you integrated a converter for pgn to the needed training data format. That includes fen, eval, outcome and then is huffman encoded. That would enable us to use CCRL/Lichess data which has a lot of annotated games with depths beyond 20. On my own I'm barely able to generate enough depth 10 positions.
Understood,
This is a start.

nodchip's source does contain some code concerning data conversion (as raphexon pointed out earlier), but it leads to many compile errors when commented out.
I'll have a better look in the coming days, weeks...
Raphexon
Posts: 476
Joined: Sun Mar 17, 2019 12:00 pm
Full name: Henk Drost

Re: nnue-gui 1.0 released

Post by Raphexon »

Awesome.

Thanks.

An easy change to implement is to also show available parameters that can have different values.

With "gensfen" you can also specify a few other things:

https://github.com/nodchip/Stockfish/bl ... r.cpp#L958

Also please double check if what I say below is actually right.

examples:
random_move_minply will specify when the first random move can happen.
random_move_maxply
random_move_count: number of random moves
random_move_like_apery "x": 1 in x chance for a random move to happen. I think it will only happen between random_move_minply and maxply.
Google translate below:

Code: Select all

"// Phase to randomly select one from legal hands
if (
// 1. A mode that performs random_move_count random moves between random_move_minply and random_move_maxply
(random_move_minply != -1 && ply <(int)random_move_flag.size() && random_move_flag[ply]) ||
// 2. A mode to perform random move of random_move_count times after exiting the track
(random_move_minply == -1 && random_move_c <random_move_count))"
I guess that means if you set random_move_minply to -1, it will perform random_move_count consecutively.
And if you have set it to another value it will do the random moves randomly between random_move_minply and maxply.

random_multi_pv "y": Pick a random move from the multipv.
random_multi_pv_diff "z": random move from multipv can't be more than "z" worse than best move in multipv.

write_minply: When it will start writing out fens. Default is 16 but can be any number.
write_maxply: If a game exceeds maxply it gets adjudicated as a draw. Default is 400.
kranium
Posts: 2129
Joined: Thu May 29, 2008 10:43 am

Re: nnue-gui 1.0 released

Post by kranium »

nnue-gui 1.1 is available

https://github.com/FireFather/nnue-gui

The most recent binaries for both sizes
k-p_256x2-32-32
halfkp_256x2-32-32
are included in the download.

When you unzip it, target directories are created

I created a (smaller) k-p_256x2-32-32 nn.bin with default values to test

Code: Select all

run 1: training data depth 8 loop 10000000
run 2: validation data depth 8 loop 1000000
run 3: learn targetdir trainingdata loop 100 batchsize 1000000 eta 1.0 lambda 0.5 eval_limit 32000 nn_batch_size 1000 newbob_decay 0.5 eval_save_interval 10000000 loss_output_interval 1000000 mirror_percentage 50 validation_set_file_name validationdata\generated_kifu.bin
The resulting nn.bin seems very strong, but I only ran 2 games vs SF11...both were easy draws.
It plays quite differently than SF11...amazing really.

I suspect that each newly created network will be significantly unique.
Jesse Gersenson
Posts: 593
Joined: Sat Aug 20, 2011 9:43 am

Re: nnue-gui 1.0 released

Post by Jesse Gersenson »

Nice one Norm!