PytorchInsight
1.0.0
これは、最先端のアーキテクチャ、優先モデル、リアルタイムの更新結果を備えたPytorch Libです。
このリポジトリは、ディープラーニング研究の進歩を加速し、再現性のある結果を生み出し、研究を行うことを容易にすることを目的としています。
- セネット:スクイーズアンドエクスケートネットワーク(紙)
- SKNET:選択的なカーネルネットワーク(紙)
- CBAM:畳み込みブロック注意モジュール(論文)
- GCNET:GCNET:非ローカルネットワークは、スクイーズエクスチャットネットワーク以上に出会う(紙)
- BAM:ボトルネックの注意モジュール(論文)
- SGENET:空間グループごとの強化:畳み込みネットワークでのセマンティック機能学習の強化(論文)
- SRMNET:SRM:畳み込みニューラルネットワーク用のスタイルベースの再校正モジュール(論文)
- Octnet:オクターブを落とす:オクターブ畳み込みによる畳み込みニューラルネットワークの空間冗長性を減らす(論文)
- Imagenet_tricks.py:畳み込みニューラルネットワークを使用した画像分類のためのトリックのバッグ(紙)
- 体重正規化ファミリと体重減衰の間の不調和を理解する:eシフトL2正規者(表示する)
- 一般化バウンドバウンドリザイザー:体重減衰を理解するための統一されたフレームワーク(表示する)
- 混合:経験的リスク最小化を超えて(論文)
- CutMix:ローカライズ可能な機能で強力な分類器をトレーニングするための正規化戦略(紙)
Imagenet-1Kの単一作物検証エラー(中央224x224サイドサイド= 256のサイズ変更画像からの作物)。
| メディアおよび大規模なモデルの分類トレーニング設定 | |
|---|---|
| 詳細 | randomResizedcrop、randomhorizontalflip; 0.1 init LR、合計100エポック、30エポックごとに減衰。ナイーブソフトマックスクロスエントロピー損失、1E-4重量減衰、0.9運動量、8 GPU、32枚あたり32枚 |
| 例 | Resnet50 |
| 注記 | 最新のコードは1つのデフォルト操作を追加します:すべてのバイアスWD = 0の設定、「一般化バウンドリマイライザー:体重減衰を理解するための統一されたフレームワーク」の理論分析(表示する)を参照してください。 |
| モバイル/スモールモデルの分類トレーニング設定 | |
|---|---|
| 詳細 | randomResizedcrop、randomhorizontalflip; 0.4 init LR、合計300エポック、5線形ウォームアップエポック、コサインLR崩壊。ソフトマックスクロスエントロピー損失とラベルスムージング0.1、4E-5重量減衰、条約重量の4E-5重量減衰、0の重量減衰、0.9運動量、8 GPU、GPUあたり128画像のあるSGD |
| 例 | shufflenetv2 |
python -m torch.distributed.launch --nproc_per_node=8 imagenet_mobile.py --cos -a shufflenetv2_1x --data /path/to/imagenet1k/
--epochs 300 --wd 4e-5 --gamma 0.1 -c checkpoints/imagenet/shufflenetv2_1x --train-batch 128 --opt-level O0 --nowd-bn # Triaing
python -m torch.distributed.launch --nproc_per_node=2 imagenet_mobile.py -a shufflenetv2_1x --data /path/to/imagenet1k/
-e --resume ../pretrain/shufflenetv2_1x.pth.tar --test-batch 100 --opt-level O0 # Testing, ~69.6% top-1 Acc
python -W ignore imagenet.py -a sge_resnet101 --data /path/to/imagenet1k/ --epochs 100 --schedule 30 60 90
--gamma 0.1 -c checkpoints/imagenet/sge_resnet101 --gpu-id 0,1,2,3,4,5,6,7 # Training
python -m torch.distributed.launch --nproc_per_node=8 imagenet_fast.py -a sge_resnet101 --data /path/to/imagenet1k/
--epochs 100 --schedule 30 60 90 --wd 1e-4 --gamma 0.1 -c checkpoints/imagenet/sge_resnet101 --train-batch 32
--opt-level O0 --wd-all --label-smoothing 0. --warmup 0 # Training (faster)
python -W ignore imagenet.py -a sge_resnet101 --data /path/to/imagenet1k/ --gpu-id 0,1 -e --resume ../pretrain/sge_resnet101.pth.tar
# Testing ~78.8% top-1 Acc
python -m torch.distributed.launch --nproc_per_node=2 imagenet_fast.py -a sge_resnet101 --data /path/to/imagenet1k/ -e --resume
../pretrain/sge_resnet101.pth.tar --test-batch 100 --opt-level O0 # Testing (faster) ~78.8% top-1 Acc
python -m torch.distributed.launch --nproc_per_node=8 imagenet_fast.py -a ws_resnet50 --data /share1/public/public/imagenet1k/
--epochs 100 --schedule 30 60 90 --wd 1e-4 --gamma 0.1 -c checkpoints/imagenet/es1e-3_ws_resnet50 --train-batch 32
--opt-level O0 --label-smoothing 0. --warmup 0 --nowd-conv --mineps 1e-3 --el2
次の結果に注意してください(古い)大きなモデルのバイアスwd = 0を設定しないでください
| モデル | #P | GFLOPS | Top-1 ACC | トップ5 ACC | ダウンロード1 | ダウンロード2 | ログ |
|---|---|---|---|---|---|---|---|
| shufflenetv2_1x | 2.28m | 0.151 | 69.6420 | 88.7200 | googledrive | shufflenetv2_1x.log | |
| Resnet50 | 25.56m | 4.122 | 76.3840 | 92.9080 | Baidudrive(Zuvx) | googledrive | old_resnet50.log |
| Se-Resnet50 | 28.09m | 4.130 | 77.1840 | 93.6720 | |||
| Sk-Resnet50* | 26.15m | 4.185 | 77.5380 | 93.7000 | Baidudrive(tfwn) | googledrive | sk_resnet50.log |
| Bam-Resnet50 | 25.92m | 4.205 | 76.8980 | 93.4020 | Baidudrive(Z0H3) | googledrive | bam_resnet50.log |
| CBAM-Resnet50 | 28.09m | 4.139 | 77.6260 | 93.6600 | Baidudrive(BRAM) | googledrive | cbam_resnet50.log |
| SGE-Resnet50 | 25.56m | 4.127 | 77.5840 | 93.6640 | Baidudrive(gxo9) | googledrive | sge_resnet50.log |
| resnet101 | 44.55m | 7.849 | 78.2000 | 93.9060 | Baidudrive(JS5T) | googledrive | old_resnet101.log |
| Se-Resnet101 | 49.33m | 7.863 | 78.4680 | 94.1020 | Baidudrive(j2ox) | googledrive | se_resnet101.log |
| Sk-Resnet101* | 45.68m | 7.978 | 78.7920 | 94.2680 | Baidudrive(boii) | googledrive | sk_resnet101.log |
| Bam-Resnet101 | 44.91m | 7.933 | 78.2180 | 94.0180 | Baidudrive(4bw6) | googledrive | bam_resnet101.log |
| CBAM-RESNET101 | 49.33m | 7.879 | 78.3540 | 94.0640 | Baidudrive(syj3) | googledrive | cbam_resnet101.log |
| SGE-RESNET101 | 44.55m | 7.858 | 78.7980 | 94.3680 | Baidudrive(WQN6) | googledrive | sge_resnet101.log |
ここでは、Sk-Resnet*は、オリジナルのSkNetの修正バージョン(こちらのResnet Backboneとのより公正な比較のため)です。オリジナルのスクネットはより強力に機能し、PytorchバージョンはPpplang-Sknetで参照できます。
| モデル | #P | GFLOPS | 検出器 | ネック | AP50:95(%) | AP50(%) | AP75(%) | ダウンロード |
|---|---|---|---|---|---|---|---|---|
| Resnet50 | 23.51m | 88.0 | より速いRCNN | fpn | 37.5 | 59.1 | 40.6 | googledrive |
| SGE-Resnet50 | 23.51m | 88.1 | より速いRCNN | fpn | 38.7 | 60.8 | 41.7 | googledrive |
| Resnet50 | 23.51m | 88.0 | マスクrcnn | fpn | 38.6 | 60.0 | 41.9 | googledrive |
| SGE-Resnet50 | 23.51m | 88.1 | マスクrcnn | fpn | 39.6 | 61.5 | 42.9 | googledrive |
| Resnet50 | 23.51m | 88.0 | カスケードrcnn | fpn | 41.1 | 59.3 | 44.8 | googledrive |
| SGE-Resnet50 | 23.51m | 88.1 | カスケードrcnn | fpn | 42.6 | 61.4 | 46.2 | googledrive |
| resnet101 | 42.50m | 167.9 | より速いRCNN | fpn | 39.4 | 60.7 | 43.0 | googledrive |
| Se-Resnet101 | 47.28m | 168.3 | より速いRCNN | fpn | 40.4 | 61.9 | 44.2 | googledrive |
| SGE-RESNET101 | 42.50m | 168.1 | より速いRCNN | fpn | 41.0 | 63.0 | 44.3 | googledrive |
| resnet101 | 42.50m | 167.9 | マスクrcnn | fpn | 40.4 | 61.6 | 44.2 | googledrive |
| Se-Resnet101 | 47.28m | 168.3 | マスクrcnn | fpn | 41.5 | 63.0 | 45.3 | googledrive |
| SGE-RESNET101 | 42.50m | 168.1 | マスクrcnn | fpn | 42.1 | 63.7 | 46.1 | googledrive |
| resnet101 | 42.50m | 167.9 | カスケードrcnn | fpn | 42.6 | 60.9 | 46.4 | googledrive |
| Se-Resnet101 | 47.28m | 168.3 | カスケードrcnn | fpn | 43.4 | 62.2 | 47.2 | googledrive |
| SGE-RESNET101 | 42.50m | 168.1 | カスケードrcnn | fpn | 44.4 | 63.2 | 48.4 | googledrive |
次のモデルには、バイアスwd = 0があることに注意してください。
| モデル | Top-1 | ダウンロード |
|---|---|---|
| WS-RESNET50 | 76.74 | googledrive |
| WS-RESNET50(E = 1E-3) | 76.86 | googledrive |
| WS-RESNET101 | 78.07 | googledrive |
| WS-RESNET101(E = 1E-6) | 78.29 | googledrive |
| ws-resnext50(e = 1e-3) | 77.88 | googledrive |
| ws-resnext101(e = 1e-3) | 78.80 | googledrive |
| WS-DENSENET201(E = 1E-8) | 77.59 | googledrive |
| ws-shufflenetv1(e = 1e-8) | 68.09 | googledrive |
| ws-shufflenetv2(e = 1e-8) | 69.70 | googledrive |
| ws-mobilenetv1(e = 1e-6) | 73.60 | googledrive |
関連する作品があなたの研究で役立つと思われる場合は、論文を引用することを検討してください。
@inproceedings{li2019selective,
title={Selective Kernel Networks},
author={Li, Xiang and Wang, Wenhai and Hu, Xiaolin and Yang, Jian},
journal={IEEE Conference on Computer Vision and Pattern Recognition},
year={2019}
}
@inproceedings{li2019spatial,
title={Spatial Group-wise Enhance: Enhancing Semantic Feature Learning in Convolutional Networks},
author={Li, Xiang and Hu, Xiaolin and Xia, Yan and Yang, Jian},
journal={arXiv preprint arXiv:1905.09646},
year={2019}
}
@inproceedings{li2019understanding,
title={Understanding the Disharmony between Weight Normalization Family and Weight Decay: e-shifted L2 Regularizer},
author={Li, Xiang and Chen, Shuo and Yang, Jian},
journal={arXiv preprint arXiv:},
year={2019}
}
@inproceedings{li2019generalization,
title={Generalization Bound Regularizer: A Unified Framework for Understanding Weight Decay},
author={Li, Xiang and Chen, Shuo and Gong, Chen and Xia, Yan and Yang, Jian},
journal={arXiv preprint arXiv:},
year={2019}
}