Coder Social home page Coder Social logo

jadouse5 / binarized-neural-networks Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 33 KB

This project demonstrates the implementation and performance of a Binarized Neural Network (BNN) on the MNIST dataset, a collection of handwritten digits. BNNs are neural networks with binary weights and, in some cases, binary activations, making them computationally efficient and well-suited for resource-constrained environments.

License: Apache License 2.0

Jupyter Notebook 50.00% Python 50.00%

binarized-neural-networks's Introduction

Binarized Neural Network (BNN) on MNIST Dataset

Author

This project was developed by Jad Tounsi El Azzoiani, a passionate enthusiast in machine learning and artificial intelligence, with a particular interest in efficient computing and neural network optimization. I aim to explore cutting-edge AI technologies and contribute to the open-source community, sharing knowledge and innovative solutions. For more projects and contributions, you can follow me on GitHub [https://github.com/jadouse5] or connect on LinkedIn [https://www.linkedin.com/in/jad-tounsi-el-azzoiani-87499a21a/].

Introduction

This project demonstrates the implementation and performance of a Binarized Neural Network (BNN) on the MNIST dataset, a collection of handwritten digits. BNNs are neural networks with binary weights and, in some cases, binary activations, making them computationally efficient and well-suited for resource-constrained environments.

Prerequisites

  • Python 3.x
  • Jupyter Notebook or JupyterLab
  • TensorFlow
  • Numpy
  • Matplotlib
  • Larq

Ensure you have the above software and libraries installed before running the notebook.

Installation

To set up the environment for running this notebook, follow these steps:

  1. Install Python 3.x from the official website.
  2. Install Jupyter using pip:
    pip install jupyterlab
    
  3. Install the required libraries:
    pip install tensorflow numpy matplotlib larq
    

Running the Notebook

To run the notebook, navigate to the directory containing the .ipynb file in your terminal or command prompt, and execute the following command:

jupyter notebook

Then, open the binarized-neural-network-mnist.ipynb file from the Jupyter interface in your browser.

Notebook Contents

The notebook is structured as follows:

  1. Introduction to BNNs: A brief overview of BNNs and their advantages.
  2. Loading the MNIST Dataset: Instructions on how to load and preprocess the data.
  3. Building the BNN Model: Steps to define and compile the BNN model.
  4. Training the Model: Training the BNN model on the MNIST dataset.
  5. Evaluation and Results: Evaluating the model's performance and displaying the results.
  6. Conclusion: Summary of the findings and potential future work.

Expected Outcomes

Upon successful completion of the notebook, you should be able to understand the implementation details of a BNN, its application on the MNIST dataset, and observe its performance in terms of accuracy and computational efficiency.

Credits

This project utilizes the Larq library, an open-source deep learning library for training neural networks with extremely low precision weights and activations, such as Binarized Neural Networks. More information about Larq can be found on their official documentation and GitHub repository.

Conclusion

This project provides a hands-on approach to understanding and implementing Binarized Neural Networks. The MNIST dataset serves as an excellent benchmark to demonstrate the capabilities of BNNs in handling real-world tasks efficiently.

binarized-neural-networks's People

Contributors

jadouse5 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.