-
-
Notifications
You must be signed in to change notification settings - Fork 19
In principle almost all variants supported by Fairy-Stockfish can also be trained using this repository, including user-defined variants. However, currently there are a few additional limitations:
- At most 15 piece types per variant
- At most 40-60 pieces on the board (depending on the board size and the number of pockets, if any)
- At most 2 times the number of files of pieces in hand per piece type (e.g., 2x8 = 16 in crazyhouse, or 2x9 = 18 in shogi). The absolute limit currently is 31, which however anyway is larger than 2*12 for the largest supported board size.
- Variants where the king piece (if existing) only has a limited area available to move to (such as the palace in minixiangqi) require manual code changes, with the exception of Xiangqi/Janggi, for which this is already considered.
These limitations are mainly for pragmatic reasons in order to avoid an unnecessarily big training data format and/or NNUE file size.
In the training data generation the number of FENs per second suddenly starts to drop or gets stuck entirely.
Unless the drop of speed is only temporary due to some other concurrent processes, the problem might be due to the generator running out of new positions, since it filters previously encountered positions using the transposition table. This can especially happen when a variant is very small (e.g., losalamos) or forced (e.g., antichess) and/or the random_multi_pv_diff
very low. If this happens, try to restart generation with a higher random_multi_pv_diff
and see check if this solves the problem.
Make sure that the pytorch-lightning version is <1.5.0.
This can have multiple potential reasons that should be checked:
- Is the Fairy-Stockfish compatible to the current network? Variants where KING_SQUARES does not equal the number of SQUARES are only supported starting from version 14.0.1. Other variants should be supported from version 14.
- Were the settings in the variant.py correctly defined? You can check the values against what the training data generator prints when setting a variant, and you can also check the file size for plausibility by using the approximate formula
FILE_SIZE_IN_BYTE >= SQUARES * KING_SQUARES * PIECE_TYPES * 2080
(for variants with drops it is slightly bigger). E.g., for Xiangqi90 * 9 * 7 * 2080 B = 11 MB
.