❯ Training of an AI using CNN, Residuals, advanced scheduler and optimizer
- 📍 Overview
- 👾 Features
- 📁 Project Structure
- 🚀 Getting Started
- 📌 Project Roadmap
- 🔰 Contributing
- 🎗 License
- 🙌 Acknowledgments
This project uses Convolutional Neural Networks (CNNs) and advanced deep learning techniques to develop a chess-playing AI. The AI is trained using residual connections, dynamic learning rate schedulers, and cutting-edge optimizers for superior performance and scalability. It can predict optimal moves and simulate gameplay, making for a interesting way to experience chess.
❯ Key highlights of this project include:
- Integration of Stockfish for generating high-quality training data.
- Implementation of CNNs with residual layers for deep feature extraction.
- Support and usage for advanced learning rate scheduling and optimizers.
- Interactive GUI for playing against the AI.
- Comprehensive project structure with modular code for scalability.
└── chessAI/
├── dup.py
├── engine.py
├── get_data.py
├── images
│ ├── *.png
│ ├── new.svg # logo above
├── main.py
├── requirements.txt
├── training.py
└── utils.py
training.py ❯ Contains the training loop, dataset structure, and the AI model
dup.py ❯ Checks how many lines are duplicates
utils.py ❯ Some helper functions
get_data.py ❯ Get training data using Stockfish
main.py ❯ Contains GUI loop to play against the AI
engine.py ❯ Handles the logic to load models and return best move
requirements.txt ❯ Requirements for this project
Before getting started with chessAI, ensure your runtime environment meets the following requirements:
- Programming Language: Python
- Package Manager: Pip
Install chessAI using one of the following methods:
Build from source:
- Clone the chessAI repository:
git clone https://github.com/mp3skater/chessAI.git
- Navigate to the project directory:
cd chessAI
- Install the project dependencies:
❯ pip install -r requirements.txt
Run chessAI using the following command: Using pip
sh ❯ python main.py
- Task 1:
Implement a straightforward chess ai using supervised learning. - Task 2: Implement a active learning model.
- Task 3: Code and test on a large server a MCTS based AI with improvements.
- 💬 Join the Discussions: Share your insights, provide feedback, or ask questions.
- 🐛 Report Issues: Submit bugs found or log feature requests for the chessAI project.
- 💡 Submit Pull Requests: Review open PRs, and submit your own PRs.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your github account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/mp3skater/chessAI
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to github: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
This project is protected under the MIT-LICENSE License. For more details, refer to the LICENSE file.