{"id":13499124,"url":"https://github.com/homles11/IGCV3","last_synced_at":"2025-03-29T04:30:41.070Z","repository":{"id":199245801,"uuid":"133752592","full_name":"homles11/IGCV3","owner":"homles11","description":"Code and Pretrained model for IGCV3","archived":false,"fork":false,"pushed_at":"2018-10-22T13:55:15.000Z","size":52831,"stargazers_count":190,"open_issues_count":3,"forks_count":34,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-10-31T17:39:12.423Z","etag":null,"topics":["igcv3","image-classification"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/homles11.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-05-17T03:16:26.000Z","updated_at":"2024-08-27T23:29:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"d5e3fa3a-34f2-4efc-b805-84ecda6b5332","html_url":"https://github.com/homles11/IGCV3","commit_stats":null,"previous_names":["homles11/igcv3"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/homles11%2FIGCV3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/homles11%2FIGCV3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/homles11%2FIGCV3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/homles11%2FIGCV3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/homles11","download_url":"https://codeload.github.com/homles11/IGCV3/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246140565,"owners_count":20729797,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["igcv3","image-classification"],"created_at":"2024-07-31T22:00:29.414Z","updated_at":"2025-03-29T04:30:38.625Z","avatar_url":"https://github.com/homles11.png","language":"Python","funding_links":[],"categories":["Papers\u0026Codes","\u003ca name=\"Vision\"\u003e\u003c/a\u003e2. Vision","DLA","DeepCNN"],"sub_categories":["IGCV3","2.1 Image Classification","Model"],"readme":"# IGCV3:Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks.\nThe codes are based on https://github.com/liangfu/mxnet-mobilenet-v2.\n\u003e  IGCV3: Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks. Ke Sun, Mingjie Li, Dong Liu, and Jingdong Wang. \narXiv preprint [arXIV:1806.00178](https://arxiv.org/pdf/1806.00178.pdf) (2017)\n\n## Prior Works\n\n### Interleaved Group Convolutions ([IGCV1](https://arxiv.org/pdf/1707.02725.pdf))\nInterleaved Group Convolutions use a pair of two successive interleaved group convolutions: primary group convolution and secondary group convolution. The two group convolutions are complementary.\n\n![IGC](figures/igc_ori.png)\n\u003e  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).\n\nYou can find its code [here](https://github.com/hellozting/InterleavedGroupConvolutions)!\n\n### Interleaved Structured Sparse Convolution ([IGCV2](https://arxiv.org/pdf/1804.06202.pdf))\nIGCV2 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).\n\n\n## Interleaved Low-Rank Group Convolutions (IGCV3)\nWe 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 \u003ca href=\"https://www.codecogs.com/eqnedit.php?latex=G_{2}\" target=\"_blank\"\u003e\u003cimg src=\"https://latex.codecogs.com/gif.latex?G_{1}\" title=\"G_{1}\" /\u003e\u003c/a\u003e groups that reduces the width and a low-rank group convolution with \u003ca href=\"https://www.codecogs.com/eqnedit.php?latex=G_{2}\" target=\"_blank\"\u003e\u003cimg src=\"https://latex.codecogs.com/gif.latex?G_{2}\" title=\"G_{2}\" /\u003e\u003c/a\u003e groups which expands the widths back.\n\n![IGCV3](figures/super_branch_2.PNG)\n\u003e  Illustrating the interleaved branches in IGCV3 block. The first group convolution is a group 1 × 1 convolution with \u003ca href=\"https://www.codecogs.com/eqnedit.php?latex=G_{2}\" target=\"_blank\"\u003e\u003cimg src=\"https://latex.codecogs.com/gif.latex?G_{1}\" title=\"G_{1}\" /\u003e\u003c/a\u003e=2 groups. The second is a channel-wise spatial convolution. The third is a group 1 × 1 convolution with \u003ca href=\"https://www.codecogs.com/eqnedit.php?latex=G_{2}\" target=\"_blank\"\u003e\u003cimg src=\"https://latex.codecogs.com/gif.latex?G_{2}\" title=\"G_{2}\" /\u003e\u003c/a\u003e=2 groups.\n\n## Results\n### CIFAR Experiments\nWe compare our IGCV3 network with other Mobile Networks on CIFAR datasets which illustrated our model' advantages on small dataset.\n#### Comparison with Other Mobile Networks\nClassification accuracy comparisons of MobileNetV2 and IGCV3 on CIFAR datasets. \"Network s×\" means reducing the number of parameter in \"Network 1.0×\" by s times.\n\u003ctable \u003e \n\u003ctr\u003e \u003cth width=250\u003e\u003c/th\u003e\u003cth\u003e#Params (M)\u003c/th\u003e \u003cth\u003eCIFAR-10\u003c/th\u003e \u003cth\u003e CIFAR100 \u003c/th\u003e \u003c/tr\u003e \n\u003ctr\u003e \u003cth\u003eMobileNetV2（our impl.）  \u003c/th\u003e\u003cth\u003e 2.3\u003c/th\u003e\u003cth\u003e94.56\u003c/th\u003e \u003cth\u003e77.09\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e \u003cth\u003eIGCV3-D 0.5×  \u003c/th\u003e\u003cth\u003e 1.2\u003c/th\u003e\u003cth\u003e94.73\u003c/th\u003e \u003cth\u003e77.29\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e \u003cth\u003eIGCV3-D 0.7× \u003c/th\u003e\u003cth\u003e 1.7\u003c/th\u003e\u003cth\u003e94.92\u003c/th\u003e \u003cth\u003e77.83\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e \u003cth\u003eIGCV3-D 1.0× \u003c/th\u003e\u003cth\u003e 2.4\u003c/th\u003e\u003cth\u003e94.96\u003c/th\u003e \u003cth\u003e77.95\u003c/th\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\n#### Comparison with IGCV2\n\u003ctable \u003e \n\u003ctr\u003e \u003cth width=100\u003e\u003c/th\u003e\u003cth\u003e#Params (M)\u003c/th\u003e \u003cth\u003eCIFAR-10\u003c/th\u003e \u003cth\u003e CIFAR100 \u003c/th\u003e \u003c/tr\u003e \n\u003ctr\u003e \u003cth\u003eIGCV2 \u003c/th\u003e\u003cth\u003e 2.4\u003c/th\u003e\u003cth\u003e94.76\u003c/th\u003e \u003cth\u003e77.45\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e \u003cth\u003eIGCV3-D \u003c/th\u003e\u003cth\u003e 2.4\u003c/th\u003e\u003cth\u003e94.96\u003c/th\u003e \u003cth\u003e77.95\u003c/th\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\n### ImageNet Experiments\nComparison with MobileNetV2 on ImageNet.\n#### Before Retrain\n\u003ctable \u003e \n\u003ctr\u003e \u003cth width=100\u003e\u003c/th\u003e\u003cth\u003e#Params (M)\u003c/th\u003e \u003cth\u003eTop-1\u003c/th\u003e \u003cth\u003eTop-5\u003c/th\u003e \u003c/tr\u003e \n\u003ctr\u003e \u003cth\u003eMobileNetV2 \u003c/th\u003e\u003cth\u003e 3.4\u003c/th\u003e\u003cth\u003e70.0\u003c/th\u003e \u003cth\u003e89.0\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e \u003cth\u003eIGCV3-D \u003c/th\u003e\u003cth\u003e 3.5\u003c/th\u003e\u003cth\u003e70.6\u003c/th\u003e \u003cth\u003e89.7\u003c/th\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\n#### After Retrain\n\u003ctable \u003e \n\u003ctr\u003e \u003cth width=100\u003e\u003c/th\u003e\u003cth\u003e#Params (M)\u003c/th\u003e \u003cth\u003eTop-1\u003c/th\u003e \u003cth\u003eTop-5\u003c/th\u003e \u003c/tr\u003e \n \u003ctr\u003e \u003cth\u003eMobileNetV2 \u003c/th\u003e\u003cth\u003e 3.4\u003c/th\u003e\u003cth\u003e71.4\u003c/th\u003e \u003cth\u003e90.1\u003c/th\u003e\u003c/tr\u003e\n\u003ctr\u003e \u003cth\u003eIGCV3-D \u003c/th\u003e \u003cth\u003e 3.5\u003c/th\u003e \u003cth\u003e72.2\u003c/th\u003e \u003cth\u003e90.5\u003c/th\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\n**IGCV3 pretrained model is released in `models` folder.**\n## Requirements\n- Install [MXNet](https://mxnet.incubator.apache.org/install/index.html)\n\n## How to Train\nCurrent code supports training IGCV3s on ImageNet. All the networks are contained in the `symbol` folder.\n\n\nFor example, running the following command can train the `IGCV3` network on ImageNet.\n\n```shell\npython train_imagenet.py --network=IGCV3 --multiplier=1.0 --gpus=0,1,2,3,4,5,6,7 --batch-size=96 --data-dir=\u003cdataset location\u003e\n```\n`multiplier` is means how many times wider than the original IGCV3 network whose width is the same as [MobileNet-V2](https://arxiv.org/pdf/1801.04381).\n\n## Citation\n\nPlease cite our papers in your publications if it helps your research:\n\n```\n@article{WangWZZ16,\n  author    = {Jingdong Wang and\n               Zhen Wei and\n               Ting Zhang and\n               Wenjun Zeng},\n  title     = {Deeply-Fused Nets},\n  journal   = {CoRR},\n  volume    = {abs/1605.07716},\n  year      = {2016},\n  url       = {http://arxiv.org/abs/1605.07716}\n}\n```\n\n```\n@article{ZhaoWLTZ16,\n  author    = {Liming Zhao and\n               Jingdong Wang and\n               Xi Li and\n               Zhuowen Tu and\n               Wenjun Zeng},\n  title     = {On the Connection of Deep Fusion to Ensembling},\n  journal   = {CoRR},\n  volume    = {abs/1611.07718},\n  year      = {2016},\n  url       = {http://arxiv.org/abs/1611.07718}\n}\n```\n\n```\n@article{DBLP:journals/corr/ZhangQ0W17,\n  author    = {Ting Zhang and\n               Guo{-}Jun Qi and\n               Bin Xiao and\n               Jingdong Wang},\n  title     = {Interleaved Group Convolutions for Deep Neural Networks},\n  journal   = {ICCV},\n  volume    = {abs/1707.02725},\n  year      = {2017},\n  url       = {http://arxiv.org/abs/1707.02725}\n}\n```\n\n```\n@article{DBLP:journals/corr/abs-1804-06202,\n  author    = {Guotian Xie and\n               Jingdong Wang and\n               Ting Zhang and\n               Jianhuang Lai and\n               Richang Hong and\n               Guo{-}Jun Qi},\n  title     = {{IGCV2:} Interleaved Structured Sparse Convolutional Neural Networks},\n  journal   = {CVPR},\n  volume    = {abs/1804.06202},\n  year      = {2018},\n  url       = {http://arxiv.org/abs/1804.06202},\n  archivePrefix = {arXiv},\n  eprint    = {1804.06202},\n  timestamp = {Wed, 02 May 2018 15:55:01 +0200},\n  biburl    = {https://dblp.org/rec/bib/journals/corr/abs-1804-06202},\n  bibsource = {dblp computer science bibliography, https://dblp.org}\n}\n```\n```\n@article{KeSun18,\n  author    = {Ke Sun and\n               Mingjie Li and\n               Dong Liu and\n               Jingdong Wang},\n  title     = {IGCV3: Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks},\n  journal   = {CoRR},\n  volume    = {abs/1806.00178},\n  year      = {2018},\n  url       = {http://arxiv.org/abs/1806.00178}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhomles11%2FIGCV3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhomles11%2FIGCV3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhomles11%2FIGCV3/lists"}