nodchip
6ae09ba266
Fixed a bug that the root color is wrong.
2020-09-16 12:10:35 +09:00
nodchip and GitHub
ea5d437dbb
Merge pull request #143 from Sopel97/no_eval_learn
...
Remove EVAL_LEARN and *learn* targets.
2020-09-14 14:37:50 +09:00
nodchip and GitHub
f579beec5d
Merge pull request #150 from vondele/CIconvertPlain01
...
add convert_plain to CI
2020-09-14 08:19:23 +09:00
nodchip and GitHub
f27c72081b
Merge pull request #147 from nodchip/EvalDir-2020-09-13
...
Fixed a bug that an assertion fails in the trainer.
2020-09-13 17:32:44 +09:00
nodchip and GitHub
cdfa71fa8e
Merge branch 'master' into EvalDir-2020-09-13
2020-09-13 17:32:29 +09:00
nodchip
a94a076e39
Fixed a comment.
2020-09-13 16:35:52 +09:00
nodchip
1c84da9caa
Fixed a bug that an assertion fails in the trainer. if the SkipLoading is false.
...
Fixes #128
2020-09-13 16:32:01 +09:00
nodchip and GitHub
0a5893d337
Update README.md
...
Updated description according to recent option changes.
2020-09-13 14:05:52 +09:00
nodchip
ac6e6f73f2
Added EnableTranspositionTable UCI option to enable/disable transposition table.
2020-09-11 09:20:48 +09:00
nodchip and GitHub
1656e419bb
Merge pull request #126 from nodchip/prune_at_shallow_depth_on_pv_node-2020-09-09
...
Set the value of prune_at_shallow_depth_on_pv_node on a UCI option callback
2020-09-10 10:44:23 +09:00
nodchip
bb406a4492
Merge branch 'prune_at_shallow_depth_on_pv_node-2020-09-09' of github.com:nodchip/Stockfish into prune_at_shallow_depth_on_pv_node-2020-09-09
...
# Conflicts:
# .travis.yml
# src/search.cpp
2020-09-10 08:25:34 +09:00
nodchip
94f3cae760
Changed a sentence.
2020-09-10 08:23:21 +09:00
nodchip
e63b6088ba
Changed a option name more descriptive, "Training" -> "PruneAtShallowDepthOnPvNode". The default value was changed but the default behavior is not changed.
...
Changed to set a global option prune_at_shallow_depth_on_pv_node on a callback function.
2020-09-10 08:19:54 +09:00
nodchip
073d437384
Removed compile warnings.
2020-09-10 08:19:54 +09:00
nodchip
69563aeed9
Remove compile warnings.
2020-09-10 08:19:47 +09:00
nodchip
005009f4e5
Changed a option name more descriptive, "Training" -> "PruneAtShallowDepthOnPvNode". The default value was changed but the default behavior is not changed.
...
Changed to set a global option prune_at_shallow_depth_on_pv_node on a callback function.
2020-09-09 23:38:00 +09:00
nodchip
9dcadfa642
Removed compile warnings.
2020-09-09 23:02:39 +09:00
nodchip
7bd4688747
Remove compile warnings.
2020-09-09 23:02:39 +09:00
nodchip
d993bd36d0
Removed compile warnings.
2020-09-09 21:21:10 +09:00
nodchip
158399da4b
Remove compile warnings.
2020-09-09 20:16:09 +09:00
nodchip
4206a1edd0
Renamed parameters to avoid shadowing other parameters.
2020-09-09 10:26:42 +09:00
nodchip
1864845811
Commented out unused parameters.
2020-09-09 10:26:42 +09:00
nodchip
2583f68972
Removed macros for KPP evaluate functions.
2020-09-09 10:26:42 +09:00
nodchip
cea17c92f9
Simplified evaluate_common.h.
2020-09-09 10:26:42 +09:00
nodchip
8d763fb503
Removed LEARN_GENSFEN_USE_DRAW_RESULT macro.
2020-09-09 10:26:42 +09:00
nodchip
eafa569365
Removed macros for KPP factorization.
2020-09-09 10:26:42 +09:00
nodchip
5e25702672
Removed USE_TRIANGLE_WEIGHT_ARRAY macro.
2020-09-09 10:26:42 +09:00
nodchip
f52165e1d3
Removed RESET_TO_ZERO_VECTOR macro.
2020-09-09 10:26:42 +09:00
nodchip
dbad9d96e0
Removed LOSS_FUNCTION_IS_ELMO_METHOD macro.
2020-09-09 10:26:42 +09:00
nodchip
ef1601218d
Removed LOSS_FUNCTION_IS_CROSS_ENTOROPY_FOR_VALUE macro.
2020-09-09 10:26:42 +09:00
nodchip
f52fbf8006
Removed LOSS_FUNCTION_IS_CROSS_ENTOROPY macro.
2020-09-09 10:26:42 +09:00
nodchip
d37eb63581
Removed LOSS_FUNCTION_IS_WINNING_PERCENTAGE macro.
2020-09-09 10:26:42 +09:00
nodchip
f3a158725d
Removed SGD_UPDATE macro.
2020-09-09 10:26:42 +09:00
nodchip
0271d70775
Removed ADA_GRAD_UPDATE macro.
2020-09-09 10:26:42 +09:00
nodchip
05d26499b4
Removed LEARN_ELMO_METHOD macro.
2020-09-09 10:26:42 +09:00
nodchip
82dc68ba9f
Removed #if for USE_GLOBAL_OPTIONS.
2020-09-09 10:26:42 +09:00
nodchip
aa2452caf3
Removed #if for USE_EVAL_HASH.
2020-09-09 10:26:42 +09:00
nodchip
ec96409176
Replaced DNDEBUG macro to _DEBUG macro.
2020-09-09 10:26:42 +09:00
nodchip
04a9a951b8
Removed "#if 0" and "#if 1".
2020-09-09 10:26:42 +09:00
nodchip
458771a181
Removed GENSFEN2019 macro.
2020-09-09 10:26:42 +09:00
nodchip
1d00d00241
Removed ENABLE_TEST_CMD macro.
2020-09-09 10:26:42 +09:00
nodchip
21cfead52c
Removed unused OMP_ macro.
2020-09-09 10:26:42 +09:00
nodchip
e6a6ba5221
Removed USE_BOOK macro.
2020-09-09 10:26:42 +09:00
nodchip
a6013557f2
Removed EVAL_NNUE macro.
2020-09-09 10:26:42 +09:00
nodchip
4cc98d80f8
Replaced the utility function to create a directory to std::filesystem.
2020-09-07 18:56:41 +09:00
nodchip
e004e47e5a
Commented out an unused function parameter to remove a compile warning.
2020-09-07 16:21:40 +09:00
nodchip
7d6668515c
Added -static link option to the learn and profile-learn targets.
2020-08-30 14:54:07 +09:00
nodchip and GitHub
bc90567e09
Merge pull request #94 from nodchip/nnue-player-merge-2020-08-28
...
Nnue player merge 2020 08 28
2020-08-30 09:27:12 +09:00
nodchip and GitHub
d258662383
Update README.md
2020-08-29 09:12:10 +09:00
nodchip
9f2f31632c
Fixed build errors.
2020-08-29 08:17:24 +09:00
nodchip
f7bc4e6e45
Fixed compilation errors.
2020-08-29 00:56:05 +09:00
nodchip
906c18eb46
Merge branch 'master' of github.com:official-stockfish/Stockfish into nnue-player-merge-2020-08-28
...
# Conflicts:
# README.md
# src/Makefile
# src/search.cpp
# src/types.h
# src/uci.cpp
# src/ucioption.cpp
2020-08-28 11:26:11 +09:00
nodchip and GitHub
def6ec4d16
Merge pull request #90 from tttak/wdl_20200824
...
Use winning_percentage_wdl in learn
2020-08-28 10:06:33 +09:00
nodchip
763e72cc9f
Changed the default value of use_raw_nnue_eval. Updated a source code comment.
2020-08-27 23:49:58 +09:00
nodchip
9fc3ff4c30
Added use_raw_nnue_eval option to return raw NNUE eval value in evaluate().
2020-08-27 23:48:28 +09:00
nodchip
7ee8a2bbb7
Merge branch 'master' of github.com:nodchip/Stockfish
2020-08-22 12:19:46 +09:00
nodchip
87633b876c
Added an option to convert teacher signals to winning probabilities.
2020-08-22 12:19:29 +09:00
nodchip and GitHub
17d2b5bf17
Merge pull request #88 from tttak/convert_bin_from_pgn-extract_20200819
...
Modify convert_bin_from_pgn-extract
2020-08-21 23:34:39 +09:00
nodchip
e5e5d7d4ab
Merge branch 'master' of github.com:nodchip/Stockfish
2020-08-21 21:17:40 +09:00
nodchip
11752d4e63
Added options to scale the scores in training data. #71
2020-08-21 21:16:55 +09:00
nodchip
2646080543
Merge branch 'master' of github.com:nodchip/Stockfish
2020-08-15 11:58:05 +09:00
nodchip
79654ac509
Added winning_probability_coefficient option to specify the coefficient to calculate the winning probability from a value. #71
2020-08-15 11:57:08 +09:00
nodchip and GitHub
ee823afdad
Deleted a duplicated Readme.md.
2020-08-14 23:33:28 +09:00
nodchip
75b9d6f6b1
Fixed build parameters.
2020-08-11 16:37:47 +09:00
nodchip
35f04aaf24
Removed an unnecessary call for pos.is_draw().
2020-08-10 19:42:39 +09:00
nodchip
c420b327bf
Added output messages.
2020-08-10 16:23:04 +09:00
nodchip
8c0429d1e5
Added detect_draw_by_insufficient_mating_material option.
2020-08-10 16:14:56 +09:00
nodchip
84070c02e6
Renamed use_game_draw_adjudication to detect_draw_by_consecutive_low_score.
2020-08-10 16:02:18 +09:00
nodchip
5467ba3c23
Renamed use_hash_in_training to skip_duplicated_positions_in_training.
2020-08-10 15:58:17 +09:00
nodchip
87c50c5cbc
Renamed use_draw_in_validation to use_draw_games_in_validation.
...
Added comments.
2020-08-10 15:55:34 +09:00
nodchip
fa5b2aec3a
Renamed use_draw_in_training to use_draw_games_in_training.
2020-08-10 15:51:23 +09:00
nodchip
a41cbb9ca9
Renamed use_draw_in_training_data_generation option to write_out_draw_game_in_training_data_generation.
2020-08-10 15:49:24 +09:00
nodchip
3bd3ef0aea
Implemented the code to detect draw by insufficient mating material.
2020-08-10 15:47:11 +09:00
nodchip
4a87d7b787
Added the use_game_draw_adjudication option.
2020-08-10 15:44:58 +09:00
nodchip
12c6c2f550
Chagned to use the search value instead of the value of the PV leaf to avoid crash by assertion.
2020-08-10 13:07:22 +09:00
nodchip
bac96aa04a
Changed to use TB in the training data generator. #67
2020-08-10 12:17:26 +09:00
nodchip
e65c515d6b
Changed to specify the current tick as a random seed. #68
2020-08-10 12:09:21 +09:00
nodchip
643be3c6f9
Changed not to use std::random_device(). Because it always returns the same integers on MingW. #68
2020-08-10 10:45:03 +09:00
nodchip and GitHub
53d15e5ec2
Merge pull request #79 from nodchip/nnue-player-merge
...
Merge Stockfish master to nodchip's repository
2020-08-10 09:51:44 +09:00
nodchip
4260ed0c7f
Merge branch 'master' of github.com:official-stockfish/Stockfish into nnue-player-merge
2020-08-10 08:52:55 +09:00
nodchip
4f97d3446d
Cleaned up source code.
2020-08-10 08:52:34 +09:00
nodchip
7f1f08d094
Merge branch 'master' of github.com:official-stockfish/Stockfish into nnue-player-merge
...
# Conflicts:
# README.md
2020-08-09 09:19:47 +09:00
nodchip
fcd70a3c81
Updated README.md.
...
Bench: 4067325
2020-08-08 21:00:19 +09:00
nodchip
3b5de9f18b
Merge branch 'master' of github.com:official-stockfish/Stockfish into nnue-player-merge
2020-08-08 19:47:32 +09:00
nodchip
22b85810fe
Re-added the code to skip loading a net file.
2020-08-08 19:04:08 +09:00
nodchip
4f94f29f39
Revert "Fixed a bug that the training data generation crashes if eval_limit is high."
...
This reverts commit b0d28ac3ab .
2020-08-08 18:38:02 +09:00
nodchip
9a0b20d3fc
Changed to show if NNUE is used in the training data generator.
2020-08-08 18:24:09 +09:00
nodchip
b0d28ac3ab
Fixed a bug that the training data generation crashes if eval_limit is high.
2020-08-08 18:23:11 +09:00
nodchip
70d88364fe
Fixed a bug that the training data generation crashes.
2020-08-08 18:22:29 +09:00
nodchip
ed4d007e3c
Fixed a bug that the training data generator crahses on memory allocation.
2020-08-08 18:21:38 +09:00
nodchip
2395833c07
Re-added commands for training data generator and trainer.
2020-08-08 16:52:18 +09:00
nodchip
fa649ba1e2
Removed a compile warning.
2020-08-08 16:17:55 +09:00
nodchip
2c9075e919
Fixed Makefile to fix build.
2020-08-08 16:05:05 +09:00
nodchip
55a6b2bdc4
Merge branch 'master' of github.com:official-stockfish/Stockfish into nnue-player-merge
...
# Conflicts:
# README.md
# Readme.md
# src/Makefile
# src/evaluate.cpp
# src/evaluate.h
# src/misc.cpp
# src/nnue/architectures/halfkp_256x2-32-32.h
# src/nnue/evaluate_nnue.cpp
# src/nnue/evaluate_nnue.h
# src/nnue/features/feature_set.h
# src/nnue/features/features_common.h
# src/nnue/features/half_kp.cpp
# src/nnue/features/half_kp.h
# src/nnue/features/index_list.h
# src/nnue/layers/affine_transform.h
# src/nnue/layers/clipped_relu.h
# src/nnue/layers/input_slice.h
# src/nnue/nnue_accumulator.h
# src/nnue/nnue_architecture.h
# src/nnue/nnue_common.h
# src/nnue/nnue_feature_transformer.h
# src/position.cpp
# src/position.h
# src/types.h
# src/ucioption.cpp
# stockfish.md
2020-08-08 15:55:42 +09:00
nodchip
1abae04ceb
Fixed Makefile.
2020-08-07 23:00:11 +09:00
nodchip
bf7d02578e
Fixed build errors.
2020-08-07 22:47:45 +09:00
nodchip
1c23465383
Moved the nnue folder.
2020-08-07 22:34:53 +09:00
nodchip and Joost VandeVondele
84f3e86790
Add NNUE evaluation
...
This patch ports the efficiently updatable neural network (NNUE) evaluation to Stockfish.
Both the NNUE and the classical evaluations are available, and can be used to
assign a value to a position that is later used in alpha-beta (PVS) search to find the
best move. The classical evaluation computes this value as a function of various chess
concepts, handcrafted by experts, tested and tuned using fishtest. The NNUE evaluation
computes this value with a neural network based on basic inputs. The network is optimized
and trained on the evalutions of millions of positions at moderate search depth.
The NNUE evaluation was first introduced in shogi, and ported to Stockfish afterward.
It can be evaluated efficiently on CPUs, and exploits the fact that only parts
of the neural network need to be updated after a typical chess move.
[The nodchip repository](https://github.com/nodchip/Stockfish ) provides additional
tools to train and develop the NNUE networks.
This patch is the result of contributions of various authors, from various communities,
including: nodchip, ynasu87, yaneurao (initial port and NNUE authors), domschl, FireFather,
rqs, xXH4CKST3RXx, tttak, zz4032, joergoster, mstembera, nguyenpham, erbsenzaehler,
dorzechowski, and vondele.
This new evaluation needed various changes to fishtest and the corresponding infrastructure,
for which tomtor, ppigazzini, noobpwnftw, daylen, and vondele are gratefully acknowledged.
The first networks have been provided by gekkehenker and sergiovieri, with the latter
net (nn-97f742aaefcd.nnue) being the current default.
The evaluation function can be selected at run time with the `Use NNUE` (true/false) UCI option,
provided the `EvalFile` option points the the network file (depending on the GUI, with full path).
The performance of the NNUE evaluation relative to the classical evaluation depends somewhat on
the hardware, and is expected to improve quickly, but is currently on > 80 Elo on fishtest:
60000 @ 10+0.1 th 1
https://tests.stockfishchess.org/tests/view/5f28fe6ea5abc164f05e4c4c
ELO: 92.77 +-2.1 (95%) LOS: 100.0%
Total: 60000 W: 24193 L: 8543 D: 27264
Ptnml(0-2): 609, 3850, 9708, 10948, 4885
40000 @ 20+0.2 th 8
https://tests.stockfishchess.org/tests/view/5f290229a5abc164f05e4c58
ELO: 89.47 +-2.0 (95%) LOS: 100.0%
Total: 40000 W: 12756 L: 2677 D: 24567
Ptnml(0-2): 74, 1583, 8550, 7776, 2017
At the same time, the impact on the classical evaluation remains minimal, causing no significant
regression:
sprt @ 10+0.1 th 1
https://tests.stockfishchess.org/tests/view/5f2906a2a5abc164f05e4c5b
LLR: 2.94 (-2.94,2.94) {-6.00,-4.00}
Total: 34936 W: 6502 L: 6825 D: 21609
Ptnml(0-2): 571, 4082, 8434, 3861, 520
sprt @ 60+0.6 th 1
https://tests.stockfishchess.org/tests/view/5f2906cfa5abc164f05e4c5d
LLR: 2.93 (-2.94,2.94) {-6.00,-4.00}
Total: 10088 W: 1232 L: 1265 D: 7591
Ptnml(0-2): 49, 914, 3170, 843, 68
The needed networks can be found at https://tests.stockfishchess.org/nns
It is recommended to use the default one as indicated by the `EvalFile` UCI option.
Guidelines for testing new nets can be found at
https://github.com/glinscott/fishtest/wiki/Creating-my-first-test#nnue-net-tests
Integration has been discussed in various issues:
https://github.com/official-stockfish/Stockfish/issues/2823
https://github.com/official-stockfish/Stockfish/issues/2728
The integration branch will be closed after the merge:
https://github.com/official-stockfish/Stockfish/pull/2825
https://github.com/official-stockfish/Stockfish/tree/nnue-player-wip
closes https://github.com/official-stockfish/Stockfish/pull/2912
This will be an exciting time for computer chess, looking forward to seeing the evolution of
this approach.
Bench: 4746616
2020-08-06 16:37:45 +02:00
nodchip
c0e1235fef
Added a description to Makefile.
2020-07-20 17:36:09 +09:00
nodchip
fbdb373b64
Changed to set the binary directory to the current working directory.
2020-07-20 17:17:50 +09:00