Commit Graph

5647 Commits

Author SHA1 Message Date
FauziAkram
bde3505758 Bishop Pawns based on Files
Passed STC:
https://tests.stockfishchess.org/tests/view/5f8cc8145a4eacb45305da3c
LLR: 2.94 (-2.94,2.94) {-0.25,1.25}
Total: 132544 W: 27795 L: 27328 D: 77421
Ptnml(0-2): 2756, 15558, 29272, 15835, 2851

Passed LTC:
https://tests.stockfishchess.org/tests/view/5f8df614bacb75a4f9a4721e
LLR: 2.94 (-2.94,2.94) {0.25,1.25}
Total: 169608 W: 23257 L: 22622 D: 123729
Ptnml(0-2): 1408, 16316, 48758, 16877, 1445

closes https://github.com/official-stockfish/Stockfish/pull/3194

Bench: 4067106
2020-10-28 08:11:29 +01:00
Tomasz Sobczyk
680654b254 Add dots to output every epoch for progress visualization. 2020-10-28 09:36:43 +09:00
Tomasz Sobczyk
f81fa3d712 Replace global_learning_rate with learning_rate local to the learner and passed to update_parameters as a parameter. 2020-10-28 09:36:07 +09:00
Tomasz Sobczyk
cde6ec2bf2 Make all grad related functions in learn static. Pass calc_grad as a parameter. 2020-10-27 14:47:50 +09:00
Tomasz Sobczyk
e4868cb59e Move setting learn search limits to learner. 2020-10-27 14:47:07 +09:00
Tomasz Sobczyk
c229929d26 Remove the position parameter from learn. 2020-10-27 00:35:43 +09:00
Tomasz Sobczyk
a8066cd4a9 Rename elmo lambdas 2020-10-27 00:33:58 +09:00
Tomasz Sobczyk
f7de49eb66 Create a collective parameter struct for learner. 2020-10-27 00:33:58 +09:00
Tomasz Sobczyk
ba390a7f9a Print the used factorizer when intializing training. 2020-10-27 00:32:39 +09:00
Tomasz Sobczyk
e01397c674 Remove multi_think 2020-10-26 19:40:40 +09:00
Tomasz Sobczyk
e515f1f61f Move SfenWriter to a separate file 2020-10-26 19:39:58 +09:00
Tomasz Sobczyk
65e443954a Update expected gensfen finished responses. 2020-10-26 09:37:59 +09:00
Tomasz Sobczyk
03abfae41f Reorder members, renaming. 2020-10-26 09:37:59 +09:00
Tomasz Sobczyk
6d4d20c4be Cleaner printing and some renaming. 2020-10-26 09:37:59 +09:00
Tomasz Sobczyk
d77b3d176e Always flush sfen writer at the end of gensfen and when it is destroyed. 2020-10-26 09:37:59 +09:00
Tomasz Sobczyk
21fac7c53c A collective struct for gensfen parameters. 2020-10-26 09:37:59 +09:00
Tomasz Sobczyk
cb61dc9c9b Make sfen writer a part of gensfen. 2020-10-26 09:37:59 +09:00
Tomasz Sobczyk
3f289546da Make some gensfen members private. 2020-10-26 09:37:59 +09:00
Tomasz Sobczyk
821b655bc6 Move gensfen progress reporting from sfen writer to gensfen 2020-10-26 09:37:59 +09:00
Tomasz Sobczyk
af238fe132 Rewrite gensfen to use stockfish's thread pool. 2020-10-26 09:37:59 +09:00
Tomasz Sobczyk
0e528995c2 Print avg bias/weight for affine trasform and feature transformer during training. 2020-10-25 22:18:28 +09:00
Tomasz Sobczyk
fe766f4f42 Additional output from layers during training. 2020-10-25 22:18:28 +09:00
Tomasz Sobczyk
2c477d76ec Cleaner and more outputs during training initialization. 2020-10-25 22:18:28 +09:00
Tomasz Sobczyk
b882423005 Bring back info for finished evalsave. Update tests with the new message. 2020-10-25 22:18:28 +09:00
Tomasz Sobczyk
4b72658409 Synchronize printed info regions in the learner and sfen reader. 2020-10-25 22:18:28 +09:00
Tomasz Sobczyk
d824bd8ec5 Add an overload for io manip in the logger. 2020-10-25 22:18:28 +09:00
Tomasz Sobczyk
54dd6a2407 Add logger with synchronized regions. 2020-10-25 22:18:28 +09:00
Tomasz Sobczyk
cf3edfed82 Improve info messages. 2020-10-25 22:18:28 +09:00
Tomasz Sobczyk
c49ae541c4 Add layer info for check_health. Print subsequent infos from the same scope with "-->" instead of "INFO:" for clarity. 2020-10-25 22:18:28 +09:00
Tomasz Sobczyk
8ddef320e6 Print an additional new line before calc_loss progress instead of after check_health in the feature transformer layer. 2020-10-25 22:18:28 +09:00
Tomasz Sobczyk
d70408f204 Add docs entry for the verbose flag. 2020-10-25 22:18:28 +09:00
Tomasz Sobczyk
a351c1d65e Add verbose flag to learn. Only print update parameters info when vebose=true 2020-10-25 22:18:28 +09:00
Tomasz Sobczyk
ec436d3dfd Print some weight update stats 2020-10-25 22:18:28 +09:00
Tomasz Sobczyk
be3937c37b Print layers and their indices during training initialization. 2020-10-25 22:18:28 +09:00
Tomasz Sobczyk
3bf397a569 Update instrumented_learn for the current codebase. 2020-10-25 19:22:56 +09:00
Tomasz Sobczyk
47a82bfc91 Document new options. 2020-10-25 19:22:56 +09:00
Tomasz Sobczyk
371acaa0b5 Allow changing sfen reader buffer sizes for the learn command. 2020-10-25 19:22:56 +09:00
Tomasz Sobczyk
d31169bab5 Update CI to use epochs instead of loops. 2020-10-25 19:22:56 +09:00
Tomasz Sobczyk
8fb208598b pass shuffle flag in the constructor 2020-10-25 19:22:56 +09:00
Tomasz Sobczyk
31f94a18b3 Update readme and docs after change from loop to epochs. 2020-10-25 19:22:56 +09:00
Tomasz Sobczyk
fc3788f630 Use cyclic sfen reader for learning, change loop option to epochs. 2020-10-25 19:22:56 +09:00
Tomasz Sobczyk
ad3d1b42e4 Make sfen reader only stop when it's destroyed. Now it is fully RAII. 2020-10-25 19:22:56 +09:00
Tomasz Sobczyk
c58aa9696a Start sfen reader worker thread in the constructor. 2020-10-25 19:22:56 +09:00
Tomasz Sobczyk
0636e1256d Add cyclic mode to the sfen reader. Make sfen reader take all files at construction 2020-10-25 19:22:56 +09:00
Tomasz Sobczyk
e4a38c18dd Don't test syzygi 2020-10-24 08:52:42 +09:00
Tomasz Sobczyk
e4e9f7e39b Reduce bench depth for testing with valgrind to prevent timeouts in CI. 2020-10-24 08:52:42 +09:00
Tomasz Sobczyk
c7ac3688a7 Move the old convert stuff from learn to their own commands. 2020-10-24 08:52:42 +09:00
Tomasz Sobczyk
f7530de20d Fix assertion in trainer 2020-10-23 09:35:41 +09:00
Tomasz Sobczyk
9564a52523 Remove whole file shuffling as it does not change learning behaviour, only works for bin, and is considered harmful for binpack. 2020-10-23 09:33:20 +09:00
syzygy1
2046d5da30 More incremental accumulator updates
This patch was inspired by c065abd which updates the accumulator,
if possible, based on the accumulator of two plies back if
the accumulator of the preceding ply is not available.

With this patch we look back even further in the position history
in an attempt to reduce the number of complete recomputations.
When we find a usable accumulator for the position N plies back,
we also update the accumulator of the position N-1 plies back
because that accumulator is most likely to be helpful later
when evaluating positions in sibling branches.
By not updating all intermediate accumulators immediately,
we avoid doing too much work that is not certain to be useful.
Overall, roughly 2-3% speedup.

This patch makes the code more specific to the net architecture,
changing input features of the net will require additional changes
to the incremental update code as discussed in the PR #3193 and #3191.

Passed STC:
https://tests.stockfishchess.org/tests/view/5f9056712c92c7fe3a8c60d0
LLR: 2.94 (-2.94,2.94) {-0.25,1.25}
Total: 10040 W: 1116 L: 968 D: 7956
Ptnml(0-2): 42, 722, 3365, 828, 63

closes https://github.com/official-stockfish/Stockfish/pull/3193

No functional change.
2020-10-22 20:50:16 +02:00