A collection of tools for local and distributed tuning of chess engines.
- Free software: Apache Software License 2.0
- Documentation: https://chess-tuning-tools.readthedocs.io.
- Optimization of chess engines using state-of-the-art Bayesian optimization.
- Support for automatic visualization of the optimization landscape.
- Scoring matches using the pentanomial model for paired openings.
In order to be able to start the tuning, first create a python environment and install chess-tuning-tools by typing:
pip install chess-tuning-tools
Furthermore, you need to have cutechess-cli in the path. The tuner will use it to run matches.
To execute the local tuner, simply run:
tune local -c tuning_config.json
Take a look at the usage instructions and the example configurations to
learn how to set up the tuning_config.json
file.
The distributed tuning framework is currently not actively supported. To be able to run the tuning client, you need the following directory structure:
folder/ |---- networks/ | |---- networkid |---- openings/ | |---- ... | |---- openings.pgn | |---- ... |---- dbconfig.json |---- engine1[.exe] |---- engine2[.exe]
Finally, the tuning client can be started as follows:
cd path/to/folder tune run-client dbconfig.json
The client can be terminated gracefully by inputting ctrl-c once or terminated immediately by sending it twice.
You will also need to run a PostgreSQL database, which the server will use to post jobs for the clients to fetch and the clients to report their results to.
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.