All Projects → TropComplique → Shufflenet V2 Tensorflow

TropComplique / Shufflenet V2 Tensorflow

Licence: mit
A lightweight convolutional neural network

Projects that are alternatives of or similar to Shufflenet V2 Tensorflow

Ml Dl Scripts
The repository provides usefull python scripts for ML and data analysis
Stars: ✭ 119 (-17.93%)
Mutual labels:  jupyter-notebook, classification
Simpsonrecognition
Detect and recognize The Simpsons characters using Keras and Faster R-CNN
Stars: ✭ 131 (-9.66%)
Mutual labels:  jupyter-notebook, classification
Keras transfer cifar10
Object classification with CIFAR-10 using transfer learning
Stars: ✭ 120 (-17.24%)
Mutual labels:  jupyter-notebook, classification
Selfdrivingcar
A collection of all projects pertaining to different layers in the SDC software stack
Stars: ✭ 107 (-26.21%)
Mutual labels:  jupyter-notebook, classification
Interactive machine learning
IPython widgets, interactive plots, interactive machine learning
Stars: ✭ 140 (-3.45%)
Mutual labels:  jupyter-notebook, classification
Imagenetv2
A new test set for ImageNet
Stars: ✭ 109 (-24.83%)
Mutual labels:  jupyter-notebook, imagenet
Pytorch Imagenet Cifar Coco Voc Training
Training examples and results for ImageNet(ILSVRC2012)/CIFAR100/COCO2017/VOC2007+VOC2012 datasets.Image Classification/Object Detection.Include ResNet/EfficientNet/VovNet/DarkNet/RegNet/RetinaNet/FCOS/CenterNet/YOLOv3.
Stars: ✭ 130 (-10.34%)
Mutual labels:  classification, imagenet
Caffe Model
Caffe models (including classification, detection and segmentation) and deploy files for famouse networks
Stars: ✭ 1,258 (+767.59%)
Mutual labels:  classification, imagenet
Glasses
High-quality Neural Networks for Computer Vision 😎
Stars: ✭ 138 (-4.83%)
Mutual labels:  jupyter-notebook, classification
Machine Learning Projects
This repository consists of all my Machine Learning Projects.
Stars: ✭ 135 (-6.9%)
Mutual labels:  jupyter-notebook, classification
Fine grained classification
Fined grained classification On Car dataset
Stars: ✭ 103 (-28.97%)
Mutual labels:  jupyter-notebook, classification
Efficientnet
Implementation of EfficientNet model. Keras and TensorFlow Keras.
Stars: ✭ 1,920 (+1224.14%)
Mutual labels:  classification, imagenet
Pytorch Classification
Classification with PyTorch.
Stars: ✭ 1,268 (+774.48%)
Mutual labels:  classification, imagenet
Traffic Signs
Building a CNN based traffic signs classifier.
Stars: ✭ 115 (-20.69%)
Mutual labels:  jupyter-notebook, classification
Kaggle Competitions
There are plenty of courses and tutorials that can help you learn machine learning from scratch but here in GitHub, I want to solve some Kaggle competitions as a comprehensive workflow with python packages. After reading, you can use this workflow to solve other real problems and use it as a template.
Stars: ✭ 86 (-40.69%)
Mutual labels:  jupyter-notebook, classification
Regnet
Pytorch implementation of network design paradigm described in the paper "Designing Network Design Spaces"
Stars: ✭ 129 (-11.03%)
Mutual labels:  classification, imagenet
Phormatics
Using A.I. and computer vision to build a virtual personal fitness trainer. (Most Startup-Viable Hack - HackNYU2018)
Stars: ✭ 79 (-45.52%)
Mutual labels:  jupyter-notebook, classification
Openml R
R package to interface with OpenML
Stars: ✭ 81 (-44.14%)
Mutual labels:  jupyter-notebook, classification
Vision4j Collection
Collection of computer vision models, ready to be included in a JVM project
Stars: ✭ 132 (-8.97%)
Mutual labels:  classification, imagenet
Benchmarks
Comparison tools
Stars: ✭ 139 (-4.14%)
Mutual labels:  jupyter-notebook, classification

ShuffleNet v2

This is an implementation of ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design .

model accuracy top 5 accuracy
0.5x 0.607 0.822
1.0x 0.688 0.886

You can download ImageNet trained checkpoints from here.

How to use the pretrained models

You only need two things:

  1. File architecture.py. It contains a definition of the graph.
  2. Checkpoint. You can load it into the graph using tf.train.Saver or tf.train.init_from_checkpoint.

For an example of using the pretrained model see: inference_with_trained_model.ipynb.

Speed benchmarks

model accuracy images/second
ShuffleNet v2 0.5x 0.607 3192
ShuffleNet v2 1.0x 0.689 2349
ShuffleNet v2 1.5x - 1855
ShuffleNet v2 2.0x - 1570
MobileNet v1 0.5x 0.633 3317
MobileNet v1 0.75x 0.684 2187
MobileNet v1 1.0x 0.709 1685
MobileNet v2 0.35x 0.603 2722
MobileNet v2 0.75x 0.698 1527
MobileNet v2 1.0x 0.718 1292

All measurements were done using batches of size 8, images of size 224x224, and NVIDIA GTX 1080 Ti.
See benchmark_speed.ipynb for the code.

MobileNet v1 results are taken from here. MobileNet v2 results are taken from here.

Notes

  1. Using moving averages of weights doesn't increase accuracy for some reason.

Requirements

  1. for using the pretrained models: tensorflow 1.10
  2. for dataset preparation: pandas, Pillow, tqdm, opencv, ...

How to train

  1. Prepare ImageNet. See data/README.md.
  2. Set the right parameters in the beginning of train.py file.
  3. Run python train.py.
  4. Run tensorboard to see the loss curves. Examples of loss curves are in images/.
  5. Use evaluation.ipynb for the final evaluation on ImageNet.

Credit

The training code is heavily inspired by:

  1. https://github.com/tensorflow/models/tree/master/official/resnet
  2. https://cloud.google.com/tpu/docs/inception-v3-advanced

Other implementations

  1. miaow1988/ShuffleNet_V2_pytorch_caffe
  2. tensorpack/examples/ImageNetModels
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].