All Projects → layog → Accurate Binary Convolution Network

layog / Accurate Binary Convolution Network

Licence: mit
Binary Convolution Network for faster real-time processing in ASICs

Projects that are alternatives of or similar to Accurate Binary Convolution Network

Deep Steganography
Hiding Images within other images using Deep Learning
Stars: ✭ 136 (+177.55%)
Mutual labels:  nips-2017, jupyter-notebook, convolutional-neural-networks
Plaquebox Paper
Repo for Tang et al, bioRxiv 454793 (2018)
Stars: ✭ 23 (-53.06%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
All Classifiers 2019
A collection of computer vision projects for Acute Lymphoblastic Leukemia classification/early detection.
Stars: ✭ 22 (-55.1%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
Traffic Sign Classifier
Udacity Self-Driving Car Engineer Nanodegree. Project: Build a Traffic Sign Recognition Classifier
Stars: ✭ 12 (-75.51%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
Cat Dog Cnn Classifier
This classifier use Convolution Neural Network approch for kaggle problem to classify Cat vs Dog images.
Stars: ✭ 19 (-61.22%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
Deep Visual Attention Prediction
Keras implementation of paper 'Deep Visual Attention Prediction' which predicts human eye fixation on view-free scenes.
Stars: ✭ 19 (-61.22%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
Dl Workshop Series
Material used for Deep Learning related workshops for Machine Learning Tokyo (MLT)
Stars: ✭ 857 (+1648.98%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
Saliency
TensorFlow implementation for SmoothGrad, Grad-CAM, Guided backprop, Integrated Gradients and other saliency techniques
Stars: ✭ 648 (+1222.45%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
Deep learning projects
Stars: ✭ 28 (-42.86%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
Keras Faster Rcnn
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
Stars: ✭ 28 (-42.86%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
Teacher Student Training
This repository stores the files used for my summer internship's work on "teacher-student learning", an experimental method for training deep neural networks using a trained teacher model.
Stars: ✭ 34 (-30.61%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
Build Ocr
Build an OCR for iOS apps
Stars: ✭ 17 (-65.31%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
Skin Cancer Image Classification
Skin cancer classification using Inceptionv3
Stars: ✭ 16 (-67.35%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
Fssgi
Exploratory Project on Fast Screen Space Global Illumination
Stars: ✭ 22 (-55.1%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
Caffenet Benchmark
Evaluation of the CNN design choices performance on ImageNet-2012.
Stars: ✭ 700 (+1328.57%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
Twitter sentiment analysis word2vec convnet
Twitter Sentiment Analysis with Gensim Word2Vec and Keras Convolutional Network
Stars: ✭ 24 (-51.02%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
Computervision Recipes
Best Practices, code samples, and documentation for Computer Vision.
Stars: ✭ 8,214 (+16663.27%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
Mtcnn Pytorch
Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks
Stars: ✭ 531 (+983.67%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
Tensorflow 101
TensorFlow 101: Introduction to Deep Learning for Python Within TensorFlow
Stars: ✭ 642 (+1210.2%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks
Brain Tumor Segmentation Keras
Keras implementation of the multi-channel cascaded architecture introduced in the paper "Brain Tumor Segmentation with Deep Neural Networks"
Stars: ✭ 20 (-59.18%)
Mutual labels:  jupyter-notebook, convolutional-neural-networks

Accurate-Binary-Convolution-Network

Binary Convolution Network for faster real-time processing in ASICs


Tensorflow implementation of Towards Accurate Binary Convolutional Neural Network by Xiaofan Lin, Cong Zhao, and Wei Pan.
Why this network? Let's quote the authors

It has been known that using binary weights and activations drastically reduce memory size and accesses, and can replace arithmetic operations with more efficient bitwise operations, leading to much faster test-time inference and lower power consumption.
The implementation of the resulting binary CNN, denoted as ABC-Net, is shown to achieve much closer performance to its full-precision counterpart, and even reach the comparable prediction accuracy on ImageNet and forest trail datasets, given adequate binary weight bases and activations.

Dependencies

pip install -r requirements.txt

By default tensorflow-gpu will be installed. Make sure to have CUDA properly setup.

Notebooks

  • ABC - Contains the original implementation of the ABC network
  • ABC-layer-inference-support - Slightly modified functions for better inference time support (tl;dr moved the alpha training operation out of the layer)

Testing

  • MNIST - Accuracy on validation set reached upto 94%. (Check the notebook for information)
  • ImageNet - To be added

NOTE: shift_parameters and beta values are currently not trainable. This is because the gradient for tf.sign and tf.clip_by_value were not implemented in tensorflow v1.4. Even in the current version (tensorflow v1.8) the gradient for tf.sign is not implemented. Implementation of custom Straight Through Estimator (STE) is required.

TODO

  • [ ] Test on ImageNet (2012)
  • [ ] Add visualization of the complete ABC layer
  • [ ] Port to tensorflow v1.8.0
  • [ ] Implement custom STE for tf.sign
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].