Welcome to the CNN Sudoku Workshop ! This repository is designed for ML enthusiasts looking to learn Convolutional Neural Networks (CNNs) through Sudoku . While Sudoku can be easily solved using automated reasoning approaches (e.g., SAT solvers), it also provides a great playground for exploring CNNs in action . Dive in, experiment, and have fun!
The dataset used for training and testing the CNN model is available on Kaggle: Sudoku CSV Dataset
In this module, you will learn how to:
- Load data to train a Convolutional Neural Network (CNN) in TensorFlow to solve Sudoku puzzles
- Split the data into training and testing datasets
- Create a CNN model using TensorFlow
- Implement an early stopping callback to stop training when a threshold is reached
- Visualize accuracy and loss during training
- Use the model to run predictions on the test dataset
- Visualize predictions
In Module 1 , you built a CNN to solve Sudoku puzzles. However, the model's performance wasn't the best. Now, it's time to improve!
In this module, you will learn:
- Different strategies to optimize the CNN model from Module 1 to improve accuracy
- How to clean up the notebook by moving utility functions out of the way
Make sure you have the following dependencies installed:
pip install tensorflow numpy pandas matplotlib seaborn
Alternatively, you can use the requirements.txt
file:
pip install -r requirements.txt
Clone the repository and navigate to the project directory:
git clone https://github.com/marcilio/cnn_sudoku_workshop.git
cd cnn_sudoku_workshop
Start with Module 1:
cd module1
jupyter notebook
Contributions are welcome! Feel free to open an issue or submit a pull request.
If you found this repository useful, give it a star ⭐ ! Your support is appreciated!
Happy coding! 🎉