Adversarial Chess
TensorFlow implementation of Style Transfer Generative Adversarial Networks: Learning to Play Chess Differently.
Requirements
To run this project, working installations of TensorFlow, Python-Chess, and h5py are needed. TensorFlow version 0.12.1 was used.
Background
AIs for chess have long since exceeded the abilities of the top human chess players. However, current AIs offer little pedagogical value due to their mechanical playstyle. This research project hopes to overcome this by applying the idea of style transfer to chess, so that an AI can be trained to play in the style of specific human players.
Data
The two datasets used in this project can be obtained from FICS and PGNMentor. Once the chess game data has been obtained, it can be converted to training data by running:
python process_data.py
Please note that the main()
function in process_data.py
should be edited to use your specific data paths.
Training and Testing
The model can be trained with:
python train_model.py
And run with:
python play.py