A Deep Learning UCI-Chess Variant Engine written in C++ & Python :parrot:
The default previous ClassicAra model is included within each release package. Moreover, the binary packages include the required inference libraries for each platform.
The newer ClassicAra models can be downloaded in release 1.0.4. You may choose alpha_vil_fx_models.zip and select a model size depending on your GPU/CPU and time-control. At a very low time control (e.g. 30ms/Move), it is recommended to reduce the Batch-Size to 16.
The models for CrazyAra and MultiAra the models should be downloaded separately and unzipped (see release 0.9.5).
CrazyAra-rl-model-os-96.zip
MultiAra-rl-models.zip
(improved MultiAra models using reinforcement learning (rl) )MultiAra-sl-models.zip
(initial MultiAra models using supervised learning)For XiangqiAra you can download XiangqiAra-sl-model.zip
(see release 0.9.9).
Next, move the model files into the model/<engine-name>/<variant>
folder.
Stratego is only included in the Linux release files as OpenSpiel is not officially supported on Windows and Mac.
TC: 30ms/move
-each option.Batch_Size=16 option.Fixed_Movetime=30
Score of ClassicAra_1.0.5 vs ClassicAra-0.9.5: 526 - 243 - 231 [0.641] 1000
Elo difference: 101.1 +/- 19.4, LOS: 100.0 %, DrawRatio: 23.1 %
TC: 1min+0.1s game
-openings file=UHO_V3_8mvs_big_+140_+169.epd -each option.Batch_Size=16
Score of ClassicAra_1.0.5 vs ClassicAra-0.9.5
Elo difference: 6.27 +/- 23.28
The following inference libraries are used in each package:
Aras_1.0.5_Linux_TensorRT
Aras_1.0.5_Win_TensorRT
Aras_1.0.5_Linux_OpenVino.zip
Aras_1.0.5_Mac_OpenVino.zip
Aras_1.0.5_Win_OpenVino.zip
This release contains the different models used in the final comparision in our paper: Representation Matters: The Game of Chess Poses a Challenge to Vision Transformers. Put the model files (.tar, .onnx) into the corresponding model directory (e.g. ./model/ClassicAra/chess/
). Only the .onnx-files are used for inference. You can remove the .tar-files if you are not interested in reinforcement learning or fine tuning the model.
Update (2023-26-10) For more exhaustive information regarding ..., please consult:
This version has been submitted to the TCEC Season 23 event.
The engine.json configuration file and update.sh shell script can be used to replicate the testing environment on a multi-GPU Linux operating system.
Update MCTS solver for MCTS_SINGLE_PLAYER (https://github.com/QueensGambit/CrazyAra/pull/184)
Dockerfile Pytorch Support (https://github.com/QueensGambit/CrazyAra/pull/183)
Fen position from epd file (https://github.com/QueensGambit/CrazyAra/pull/182)
Dynamic ONNX shape support (https://github.com/QueensGambit/CrazyAra/pull/181)
Update RL-Loop (https://github.com/QueensGambit/CrazyAra/pull/180)
Pytorch Deep Learning Backend (https://github.com/QueensGambit/CrazyAra/pull/179)
Update binaryio.py (https://github.com/QueensGambit/CrazyAra/pull/178)
Rename mctsmatch and evaltournament (https://github.com/QueensGambit/CrazyAra/pull/177)
(no improvement strength wise)
This release features the model files for BarrageStratego, Darkhex and Hex.
This version has been submitted to the FRC 5 and DFRC 1 event.
The engine.json configuration file and update.sh shell script can be used to replicate the testing environment on a multi-GPU Linux operating system.
This version has been submitted to the TCEC Cup 10 event.
The engine.json configuration file and update.sh shell script can be used to replicate the testing environment on a multi-GPU Linux operating system.
Fix terminal solver for MCTS_SINGLE_PLAYER https://github.com/QueensGambit/CrazyAra/pull/168
Remove dependency of SF for non chess related environments https://github.com/QueensGambit/CrazyAra/pull/169
fixed params file selection from the main_config for the neural_net_api.py https://github.com/QueensGambit/CrazyAra/pull/171
Remove Child_Threads and SearchThreadMaster https://github.com/QueensGambit/CrazyAra/pull/173
Backend TensorRT 7 https://github.com/QueensGambit/CrazyAra/pull/174
First experimental XiangqiAra release.
UCI_Chess_960
support as introduced in https://github.com/QueensGambit/CrazyAra/releases/tag/0.9.8. (However, no official 960 network yet.)
TensorRT API Update #164
This version has been submitted to the TCEC Season 22.
ClassicAra 0.9.9 uses the wdlp-rise3.3-input3.0 model which was trained on the Kingbase2019lite data set as for release 0.9.5.
The engine.json configuration file and update.sh shell script can be used to replicate the testing environment on a multi-GPU Linux operating system.
The latest ClassicAra model is included within each release package. Moreover, the binary packages include the required inference libraries for each platform.
However, the models for CrazyAra and MultiAra the models should be downloaded separately and unzipped (see release 0.9.5).
CrazyAra-rl-model-os-96.zip
MultiAra-rl-models.zip
(improved MultiAra models using reinforcement learning (rl) )MultiAra-sl-models.zip
(initial MultiAra models using supervised learning)For XiangqiAra you can download XiangqiAra-sl-model.zip
(see release 0.9.9).
Next, move the model files into the model/<engine-name>/<variant>
folder.
The following inference libraries are used in each package:
Aras_0.9.9_Linux_TensorRT
Aras_0.9.9_Win_TensorRT
Aras_0.9.9_Linux_OpenVino.zip
Aras_0.9.9_Mac_OpenVino.zip
Aras_0.9.9_Win_OpenVino.zip
2022-05-20: Aras_0.9.9_Win_OpenVino.zip
: Fixed spelling of folder name: XinagqiAra -> XiangqiAra
(thanks to @piladinmew for the hint)
This version has been submitted to the TCEC FRC 4 event.
The option UCI_Chess960
has been added in ClassicAra 0.9.8 by default.
The engine.json configuration file and update.sh shell script can be used to replicate the testing environment on a multi-GPU Linux operating system.
Due to some difficulties in converting a newly trained network to ONNX, the same neural network model is used as in classical chess.
This version has been submitted to the TCEC Swiss 2 event. ClassicAra 0.9.7 has a higher GPU and CPU utilization thanks to a higher batch size and more threads (https://github.com/QueensGambit/CrazyAra/pull/160).
The engine.json configuration file and update.sh shell script can be used to replicate the testing environment on a multi-GPU Linux operating system.
Score of ClassicAra 0.9.7 (Threads 2, ChildThreads 4, BSize 64) vs ClassicAra 0.9.6 (Threads 2, BSize 16):
64 - 26 - 72 [0.617]
Elo difference: 83.0 +/- 40.2, LOS: 100.0 %, DrawRatio: 44.4 %
162 of 1000 games finished.
removed get_avg_depth()
implementation to avoid potential crashThis version has been submitted to the TCEC Cup 9 which starts on 17 October 2021, 17.00 UTC. ClassicAra 0.9.6 uses the wdlp-rise3.3-input3.0 model which was trained on the Kingbase2019lite data set as for release 0.9.5.
The engine.json configuration file and update.sh shell script can be used to replicate the testing environment on a multi-GPU Linux operating system.