All Projects → homles11 → Igcv3

homles11 / Igcv3

Code and Pretrained model for IGCV3

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Igcv3

Efficientnet
Implementation of EfficientNet model. Keras and TensorFlow Keras.
Stars: ✭ 1,920 (+905.24%)
Mutual labels:  image-classification
Iresnet
Improved Residual Networks (https://arxiv.org/pdf/2004.04989.pdf)
Stars: ✭ 163 (-14.66%)
Mutual labels:  image-classification
Torchdistill
PyTorch-based modular, configuration-driven framework for knowledge distillation. 🏆18 methods including SOTA are implemented so far. 🎁 Trained models, training logs and configurations are available for ensuring the reproducibiliy.
Stars: ✭ 177 (-7.33%)
Mutual labels:  image-classification
Dna
Block-wisely Supervised Neural Architecture Search with Knowledge Distillation (CVPR 2020)
Stars: ✭ 147 (-23.04%)
Mutual labels:  image-classification
Ipyplot
IPyPlot is a small python package offering fast and efficient plotting of images inside Python Notebooks. It's using IPython with HTML for faster, richer and more interactive way of displaying big numbers of images.
Stars: ✭ 152 (-20.42%)
Mutual labels:  image-classification
Architectural Floor Plan
AFPlan is an architectural floor plan analysis and recognition system to create extended plans for building services.
Stars: ✭ 165 (-13.61%)
Mutual labels:  image-classification
Nsfw Resnet
🔥🔥NSFW implement in pytorch(色情图&性感图识别,本程序经过了线上大数据集测试,性能优异效果良好)🔥🔥
Stars: ✭ 142 (-25.65%)
Mutual labels:  image-classification
Transformer In Transformer
Implementation of Transformer in Transformer, pixel level attention paired with patch level attention for image classification, in Pytorch
Stars: ✭ 176 (-7.85%)
Mutual labels:  image-classification
Knowledge Distillation Keras
A machine learning experiment
Stars: ✭ 160 (-16.23%)
Mutual labels:  image-classification
Imgclsmob
Sandbox for training deep learning networks
Stars: ✭ 2,405 (+1159.16%)
Mutual labels:  image-classification
Pytorch Cifar100
Practice on cifar100(ResNet, DenseNet, VGG, GoogleNet, InceptionV3, InceptionV4, Inception-ResNetv2, Xception, Resnet In Resnet, ResNext,ShuffleNet, ShuffleNetv2, MobileNet, MobileNetv2, SqueezeNet, NasNet, Residual Attention Network, SENet, WideResNet)
Stars: ✭ 2,423 (+1168.59%)
Mutual labels:  image-classification
Idenprof
IdenProf dataset is a collection of images of identifiable professionals. It is been collected to enable the development of AI systems that can serve by identifying people and the nature of their job by simply looking at an image, just like humans can do.
Stars: ✭ 149 (-21.99%)
Mutual labels:  image-classification
Groupimg
A script in python to organize your images by similarity.
Stars: ✭ 167 (-12.57%)
Mutual labels:  image-classification
Alexnet
implement AlexNet with C / convolutional nerual network / machine learning / computer vision
Stars: ✭ 147 (-23.04%)
Mutual labels:  image-classification
Vit
An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
Stars: ✭ 176 (-7.85%)
Mutual labels:  image-classification
Newfeelings
A smart album for Android which use tensorflow to classify images
Stars: ✭ 142 (-25.65%)
Mutual labels:  image-classification
Cvpr18 Inaturalist Transfer
Large Scale Fine-Grained Categorization and Domain-Specific Transfer Learning. CVPR 2018
Stars: ✭ 164 (-14.14%)
Mutual labels:  image-classification
Beauty Net
A simple, flexible, and extensible template for PyTorch. It's beautiful.
Stars: ✭ 190 (-0.52%)
Mutual labels:  image-classification
Mobilenetv3
A Keras implementation of MobileNetV3.
Stars: ✭ 181 (-5.24%)
Mutual labels:  image-classification
Autoclint
A specially designed light version of Fast AutoAugment
Stars: ✭ 171 (-10.47%)
Mutual labels:  image-classification

IGCV3:Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks.

The codes are based on https://github.com/liangfu/mxnet-mobilenet-v2.

IGCV3: Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks. Ke Sun, Mingjie Li, Dong Liu, and Jingdong Wang. arXiv preprint arXIV:1806.00178 (2017)

Prior Works

Interleaved Group Convolutions (IGCV1)

Interleaved Group Convolutions use a pair of two successive interleaved group convolutions: primary group convolution and secondary group convolution. The two group convolutions are complementary.

IGC

Illustrating the interleaved group convolution, with L = 2 primary partitions and M = 3 secondary partitions. The convolution for each primary partition in primary group convolution is spatial. The convolution for each secondary partition in secondary group convolution is point-wise (1 × 1).

You can find its code here!

Interleaved Structured Sparse Convolution (IGCV2)

IGCV2 extends IGCV1 by decomposing the convolution matrix in to more structured sparse matrices, which uses a depth-wise convoultion (3 × 3) to replace the primary group convoution in IGC and uses a series of point-wise group convolutions (1 × 1).

Interleaved Low-Rank Group Convolutions (IGCV3)

We proposes Interleaved Low-Rank Group Convolutions, named IGCV3, extend IGCV2 by using low-rank group convolutions to replace group convoutions in IGCV2. It consists of a channel-wise spatial convolution, a low-rank group convolution with groups that reduces the width and a low-rank group convolution with groups which expands the widths back.

IGCV3

Illustrating the interleaved branches in IGCV3 block. The first group convolution is a group 1 × 1 convolution with =2 groups. The second is a channel-wise spatial convolution. The third is a group 1 × 1 convolution with =2 groups.

Results

CIFAR Experiments

We compare our IGCV3 network with other Mobile Networks on CIFAR datasets which illustrated our model' advantages on small dataset.

Comparison with Other Mobile Networks

Classification accuracy comparisons of MobileNetV2 and IGCV3 on CIFAR datasets. "Network s×" means reducing the number of parameter in "Network 1.0×" by s times.

#Params (M) CIFAR-10 CIFAR100
MobileNetV2(our impl.) 2.3 94.56 77.09
IGCV3-D 0.5× 1.2 94.73 77.29
IGCV3-D 0.7× 1.7 94.92 77.83
IGCV3-D 1.0× 2.4 94.96 77.95

Comparison with IGCV2

#Params (M) CIFAR-10 CIFAR100
IGCV2 2.4 94.76 77.45
IGCV3-D 2.4 94.96 77.95

ImageNet Experiments

Comparison with MobileNetV2 on ImageNet.

Before Retrain

#Params (M) Top-1 Top-5
MobileNetV2 3.4 70.0 89.0
IGCV3-D 3.5 70.6 89.7

After Retrain

#Params (M) Top-1 Top-5
MobileNetV2 3.4 71.4 90.1
IGCV3-D 3.5 72.2 90.5

IGCV3 pretrained model is released in models folder.

Requirements

How to Train

Current code supports training IGCV3s on ImageNet. All the networks are contained in the symbol folder.

For example, running the following command can train the IGCV3 network on ImageNet.

python train_imagenet.py --network=IGCV3 --multiplier=1.0 --gpus=0,1,2,3,4,5,6,7 --batch-size=96 --data-dir=<dataset location>

multiplier is means how many times wider than the original IGCV3 network whose width is the same as MobileNet-V2.

Citation

Please cite our papers in your publications if it helps your research:

@article{WangWZZ16,
  author    = {Jingdong Wang and
               Zhen Wei and
               Ting Zhang and
               Wenjun Zeng},
  title     = {Deeply-Fused Nets},
  journal   = {CoRR},
  volume    = {abs/1605.07716},
  year      = {2016},
  url       = {http://arxiv.org/abs/1605.07716}
}
@article{ZhaoWLTZ16,
  author    = {Liming Zhao and
               Jingdong Wang and
               Xi Li and
               Zhuowen Tu and
               Wenjun Zeng},
  title     = {On the Connection of Deep Fusion to Ensembling},
  journal   = {CoRR},
  volume    = {abs/1611.07718},
  year      = {2016},
  url       = {http://arxiv.org/abs/1611.07718}
}
@article{DBLP:journals/corr/ZhangQ0W17,
  author    = {Ting Zhang and
               Guo{-}Jun Qi and
               Bin Xiao and
               Jingdong Wang},
  title     = {Interleaved Group Convolutions for Deep Neural Networks},
  journal   = {ICCV},
  volume    = {abs/1707.02725},
  year      = {2017},
  url       = {http://arxiv.org/abs/1707.02725}
}
@article{DBLP:journals/corr/abs-1804-06202,
  author    = {Guotian Xie and
               Jingdong Wang and
               Ting Zhang and
               Jianhuang Lai and
               Richang Hong and
               Guo{-}Jun Qi},
  title     = {{IGCV2:} Interleaved Structured Sparse Convolutional Neural Networks},
  journal   = {CVPR},
  volume    = {abs/1804.06202},
  year      = {2018},
  url       = {http://arxiv.org/abs/1804.06202},
  archivePrefix = {arXiv},
  eprint    = {1804.06202},
  timestamp = {Wed, 02 May 2018 15:55:01 +0200},
  biburl    = {https://dblp.org/rec/bib/journals/corr/abs-1804-06202},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}
@article{KeSun18,
  author    = {Ke Sun and
               Mingjie Li and
               Dong Liu and
               Jingdong Wang},
  title     = {IGCV3: Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks},
  journal   = {CoRR},
  volume    = {abs/1806.00178},
  year      = {2018},
  url       = {http://arxiv.org/abs/1806.00178}
}
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].