GithubHelp home page GithubHelp logo

suraj5424 / sudoku-puzzle-identifier-and-solver Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 8.33 MB

This repository contains a Jupyter Notebook file equipped with code for identifying the position of digits in a Sudoku puzzle and solving it. The notebook implements algorithms for Sudoku puzzle solving, offering a practical tool for enthusiasts and learners alike to explore and understand Sudoku solving techniques. 2-2 METHODS FOR BOTH TASKS.

License: Other

Jupyter Notebook 100.00%
classification cleaning-data convolutional-neural-network mlp pytorch sudoku-solver

sudoku-puzzle-identifier-and-solver's Introduction

Sudoku Digit Recognition

Project Description

The project objective is to train a deep learning model that can recognize digits within a Sudoku puzzle and identify their positions within the grid. This repository contains the implementation for Task 1 of the project, which focuses on training a model to read the Sudoku puzzle. Used Convolution neural network (CNN) for to solve the puzzle and Multilayer perceptron(MLP) to recognise the Digits.

Tasks

  1. Task 1: Digit Recognition - Train a model to recognize digits within a Sudoku puzzle and identify their positions within the grid.
  2. Task 2: Puzzle Solving - Train a model to solve the Sudoku puzzle.

Task 1: Digit Recognition

For Task 1, the goal is to predict the correct label for each digit in all the test images. In addition to the digit class, the model needs to submit each digit's cell position in the puzzle.

Dataset

The dataset provided includes:

  • Training Images: NumPy array of size 50000x252x252.
  • Training Labels: NumPy array of size 50000x41x3, where the variables are arranged as x,y,value.
  • Test Images: NumPy array of size 10000x252x252.

Evaluation

The evaluation metric is based on predicting the digits filled within the puzzle and their positions. The submission file should contain values for all 81 cells in the puzzle, with the recognized digit for the filled cells and zero for empty cells, along with their x,y coordinates for all test images.

Submission Format

The submission file should contain 81 values for each test image, with the format:

id,value
0_00,0
0_01,1
0_02,5
...
9999_88,9

In total, there shall be 810001 lines in the submission file including the header.

Usage

  1. Download or mount the dataset provided via the Google Drive link.
  2. Preprocess the data if necessary.
  3. Train the digit recognition model using the provided training images and labels.
  4. Generate predictions for the test images.
  5. Create a submission file following the specified format.
  6. Submit the predictions for evaluation.

Files Included

  1. SUDOKU_PUZZLE_submission_by_Suraj.ipynb.: Jupyter notebook containing code for training the digit recognition model and Predictions.
  2. Each task has two differnt methods TWO solve the problems.
  3. submission.csv: Sample submission file.

Dependencies

  • Python 3.x
  • TensorFlow/Keras
  • NumPy
  • pandas
  • Matplotlib

References

  • Data Set - Dataset and competition details.

Note

  • Use Google colab for better experience of the Repository.

sudoku-puzzle-identifier-and-solver's People

Contributors

suraj5424 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.