All Projects → necludov → Group Sparsity Sbp

necludov / Group Sparsity Sbp

Structured Bayesian Pruning, NIPS 2017

Projects that are alternatives of or similar to Group Sparsity Sbp

Prototypical Networks Tensorflow
Tensorflow implementation of NIPS 2017 Paper "Prototypical Networks for Few-shot Learning"
Stars: ✭ 122 (+69.44%)
Mutual labels:  nips-2017, jupyter-notebook
Deep Steganography
Hiding Images within other images using Deep Learning
Stars: ✭ 136 (+88.89%)
Mutual labels:  nips-2017, jupyter-notebook
Accurate Binary Convolution Network
Binary Convolution Network for faster real-time processing in ASICs
Stars: ✭ 49 (-31.94%)
Mutual labels:  nips-2017, jupyter-notebook
Advanced Lane Detection
An advanced lane-finding algorithm using distortion correction, image rectification, color transforms, and gradient thresholding.
Stars: ✭ 71 (-1.39%)
Mutual labels:  jupyter-notebook
Mlatimperial2017
Materials for the course of machine learning at Imperial College organized by Yandex SDA
Stars: ✭ 71 (-1.39%)
Mutual labels:  jupyter-notebook
Attack Datasources
This content is analysis and research of the data sources currently listed in ATT&CK.
Stars: ✭ 71 (-1.39%)
Mutual labels:  jupyter-notebook
Ml Starter Pack
A collection of Machine Learning algorithms written from sctrach.
Stars: ✭ 72 (+0%)
Mutual labels:  jupyter-notebook
Deep Learning Map
Map of deep learning and notes from papers.
Stars: ✭ 71 (-1.39%)
Mutual labels:  jupyter-notebook
3d Shapes
This repository contains the 3D shapes dataset, used in Kim, Hyunjik and Mnih, Andriy. "Disentangling by Factorising." In Proceedings of the 35th International Conference on Machine Learning (ICML). 2018. to assess the disentanglement properties of unsupervised learning methods.
Stars: ✭ 72 (+0%)
Mutual labels:  jupyter-notebook
Cbe30338
Chemical Process Control
Stars: ✭ 71 (-1.39%)
Mutual labels:  jupyter-notebook
Smart On Fhir.github.io
SMART on FHIR Docs
Stars: ✭ 71 (-1.39%)
Mutual labels:  jupyter-notebook
Ag Ve Bilgi Guvenligi Ders Notlari
Ağ ve Bilgi Güvenliği; Linux & Temel Komutlar, Python, Risk Analizi, Kriptoloji, Stenografi, Zararlı Kod Analizi, Sızma Testi, Pasif Bilgi Toplama, Pasif Bilgi Toplama, Ağ Güvenliği, Zaafiyet Keşfi, Zararlı Kod Oluşturma Yöntemleri, Dijital Adli Analiz, Web Güvenliği, Sosyal Mühendislik Saldırıları, Mobil Sistem Güvenliği konularında sunum ve uygulamaların olduğu ağ ve bilgi güvenliği ders sayfası.
Stars: ✭ 71 (-1.39%)
Mutual labels:  jupyter-notebook
Hacktoberfest2020
Contribute for hacktoberfest 2020
Stars: ✭ 72 (+0%)
Mutual labels:  jupyter-notebook
My Journey In The Data Science World
📢 Ready to learn or review your knowledge!
Stars: ✭ 1,175 (+1531.94%)
Mutual labels:  jupyter-notebook
Python Jupyter Apache Kafka Ksql Tensorflow Keras
Making Machine Learning Simple and Scalable with Python, Jupyter Notebook, TensorFlow, Keras, Apache Kafka and KSQL
Stars: ✭ 69 (-4.17%)
Mutual labels:  jupyter-notebook
Cs231n
My Solution to Assignments of CS231n in Winter2016
Stars: ✭ 71 (-1.39%)
Mutual labels:  jupyter-notebook
Viztech
Plotnine replication of Financial Times Visual Vocabulary; Inspired by Vega
Stars: ✭ 72 (+0%)
Mutual labels:  jupyter-notebook
Static resources
Stars: ✭ 71 (-1.39%)
Mutual labels:  jupyter-notebook
Prml notes
该项目是关于机器学习经典书籍《Pattern Recognition and Machine Learning》的学习笔记,我用python实现了书中的一些实例,希望帮助感兴趣的人更好的理解
Stars: ✭ 71 (-1.39%)
Mutual labels:  jupyter-notebook
Zaoqi Data
公众号:可视化图鉴
Stars: ✭ 72 (+0%)
Mutual labels:  jupyter-notebook

Structured Bayesian Pruning
via Log-Normal Multiplicative Noise

This repo contains the code for our NIPS17 paper, Structured Bayesian Pruning via Log-Normal Multiplicative Noise (poster). In the paper, we propose a new Bayesian model that takes into account the computational structure of neural networks and provides structured sparsity, e.g. removes neurons and/or convolutional channels in CNNs. To do this we inject noise to the neurons outputs while keeping the weights unregularized.

Spotlight video

Launch experiments

Example for launching LeNet5 experiment.

python ./scripts/lenet5-sbp.py

Example for launching VGG-like experiment. To obtain sparse VGG-like architecture we use pretrained network, so you can use your own weights, or train the network from scratch using the following command.

python ./scripts/vgglike.py --num_gpus <num GPUs>

Don't forget to adjust batch size to obtain the same number of iterations. For instance, for one GPU we use batch_size=100, for 2 GPUs we use batch_size=50.

Finally, use the following command to launch SBP model for VGG-like architecture.

python ./scripts/vgglike-sbp.py --num_gpus <num GPUs> --checkpoint <path to pretrained checkpoint>

MNIST Experiments

Results for LeNet architectures on MNIST

Network Method Error Neurons per Layer CPU GPU FLOPs
Lenet-fc Original 1.54 784 - 500 - 300 - 10 1.00 X 1.00 X 1.00 X
SparseVD 1.57 537 - 217 - 130 - 10 1.19 X 1.03 X 3.73 X
SSL 1.49 434 - 174 - 78 - 10 2.21 X 1.04 X 6.06 X
StructuredBP 1.55 245 - 160 - 55 - 10 2.33 X 1.08 X 11.23 X
LeNet5 Original 0.80 20 - 50 - 800 - 500 1.00 X 1.00 X 1.00 X
SparseVD 0.75 17 - 32 - 329 - 75 1.48 X 1.41 X 2.19 X
SSL 1.00 3 - 12 - 800 - 500 5.17 X 1.80 X 3.90 X
StructuredBP 0.86 3 - 18 - 284 - 283 5.41 X 1.91 X 10.49 X

CIFAR-10 Experiments

Results for VGG-like architecture on CIFAR-10 dataset. Here speed-up is reported for CPU. More detailed results are provided in the paper.

Citation

If you found this code useful please cite our paper

@incollection{
  neklyudov2018structured,
  title = {Structured Bayesian Pruning via Log-Normal Multiplicative Noise},
  author = {Neklyudov, Kirill and Molchanov, Dmitry and Ashukha, Arsenii and Vetrov, Dmitry P},
  booktitle = {Advances in Neural Information Processing Systems 30},
  editor = {I. Guyon and U. V. Luxburg and S. Bengio and H. Wallach and R. Fergus and S. Vishwanathan and R. Garnett},
  pages = {6778--6787},
  year = {2017},
  publisher = {Curran Associates, Inc.},
  url = {http://papers.nips.cc/paper/7254-structured-bayesian-pruning-via-log-normal-multiplicative-noise.pdf}
}
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].