Это писательница с самыми современными архитектурами, предварительно проведенными моделями и обновленными результатами в реальном времени.
Этот репозиторий направлен на ускорение развития исследований глубокого обучения, улучшаемых результатов и проще для проведения исследований и в Pytorch.
- Senet: сетки и сжимания (бумага)
- Sknet: селективные сети ядра (бумага)
- CBAM: модуль внимания свертки (бумага)
- GCNet: GCNet: нелокальные сети соответствуют сетям сжимания и за пределами (Paper)
- BAM: Модуль внимания на место (бумага)
- SGENET: пространственное групповое улучшение: улучшение семантического обучения функциям в сверточных сетях (бумага)
- SRMNet: SRM: модуль перекалибровки на основе стиля для сверточных нейронных сетей (бумага)
- Octnet: бросьте октаву: снижение пространственной избыточности в сверточных нейронных сетях с октавной сверткой (бумага)
- ImageNet_tricks.py: мешок с уловками для классификации изображений с сверточными нейронными сетями (бумага)
- Понимание дисгармонии между семейством нормализации веса и распадом веса: E-измененный L2 регулятор (появляется)
- ОБЩЕСТВЕННОЕ ОБЩЕСТВЕННОЕ ОБОРУДОВАНИЕ: Унифицированная структура для понимания распада веса (появиться)
- Смешание: за пределами эмпирической минимизации риска (бумага)
- Cutmix: стратегия регуляризации для обучения сильных классификаторов с локализацией (бумага)
Ошибка проверки единственного урожая на ImageNet-1K (Center 224x224 CREAND с изменения размера с более короткой стороной = 256).
| Настройки обучения классификации для носителей и больших моделей | |
|---|---|
| Подробности | RandomResizedCrop, случайный хоризонтальфлп; 0,1 init lr, общее количество эпох, распадаясь на каждые 30 эпох; SGD с наивным потерей поперечной энтропии Softmax, распадом веса 1E-4, 0,9 импульса, 8 графических процессоров, 32 изображения на графический процессор |
| Примеры | Resnet50 |
| Примечание | Новый код добавляет одну операцию по умолчанию: Установка всех смещений wd = 0, пожалуйста, см. Теоретический анализ «Регуляризатор обобщения: унифицированная структура для понимания распада веса» (для появления), тем самым точности обучения можно немного повысить |
| Настройки обучения классификации для мобильных/малых моделей | |
|---|---|
| Подробности | RandomResizedCrop, случайный хоризонтальфлп; 0,4 Init LR, общее количество 300 эпох, 5 линейных эпох разминки, распад косинус LR; SGD с потерей потери поперечной энтропии Softmax и сглаживанием метки 0,1, 4E-5 разложение веса при Conv-весах, 0 веса на всех других весах, 0,9 импульса, 8 графических процессоров, 128 изображений на графический процессор |
| Примеры | 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 | Top 5 Acc | Скачать1 | Скачать2 | бревно |
|---|---|---|---|---|---|---|---|
| Shufflenetv2_1x | 2,28 м | 0,151 | 69,6420 | 88.7200 | Googledrive | shufflenetv2_1x.log | |
| Resnet50 | 25,56м | 4.122 | 76.3840 | 92.9080 | Baidudrive (zuvx) | Googledrive | Old_resnet50.log |
| SE-Resnet50 | 28,09 м | 4.130 | 77.1840 | 93,6720 | |||
| SK-resnet50* | 26,15м | 4.185 | 77.5380 | 93,7000 | Baidudrive (tfwn) | Googledrive | sk_resnet50.log |
| Bam-Resnet50 | 25,92 м | 4.205 | 76.8980 | 93.4020 | Baidudrive (Z0H3) | Googledrive | bam_resnet50.log |
| CBAM-RESNET50 | 28,09 м | 4.139 | 77.6260 | 93,6600 | Baidudrive (Bram) | Googledrive | cbam_resnet50.log |
| SGE-RESNET50 | 25,56м | 4.127 | 77.5840 | 93.6640 | Baidudrive (gxo9) | Googledrive | sge_resnet50.log |
| Resnet101 | 44,55м | 7.849 | 78.2000 | 93,9060 | Baidudrive (JS5T) | Googledrive | Old_resnet101.log |
| SE-Resnet101 | 49,33 м | 7.863 | 78.4680 | 94.1020 | Baidudrive (J2OX) | Googledrive | se_resnet101.log |
| Sk-resnet101* | 45,68 м | 7.978 | 78.7920 | 94.2680 | Baidudrive (Boii) | Googledrive | sk_resnet101.log |
| Bam-Resnet101 | 44,91 м | 7.933 | 78.2180 | 94.0180 | Baidudrive (4BW6) | Googledrive | bam_resnet101.log |
| CBAM-RESNET101 | 49,33 м | 7.879 | 78.3540 | 94.0640 | Baidudrive (syj3) | Googledrive | cbam_resnet101.log |
| SGE-RESNET101 | 44,55м | 7.858 | 78.7980 | 94.3680 | Baidudrive (WQN6) | Googledrive | sge_resnet101.log |
Здесь SK-Resnet*-это модифицированная версия (для более справедливого сравнения с Resnet Backbone здесь) оригинального Sknet. Оригинальные Sknets работают сильнее, а версия Pytorch может быть направлена в Ppplang-сне.
| Модель | #P | Gflops | Детектор | Шея | AP50: 95 (%) | AP50 (%) | AP75 (%) | Скачать |
|---|---|---|---|---|---|---|---|---|
| Resnet50 | 23,51 м | 88.0 | Быстрее rcnn | FPN | 37.5 | 59,1 | 40.6 | Googledrive |
| SGE-RESNET50 | 23,51 м | 88.1 | Быстрее rcnn | FPN | 38.7 | 60,8 | 41.7 | Googledrive |
| Resnet50 | 23,51 м | 88.0 | Маска rcnn | FPN | 38.6 | 60.0 | 41,9 | Googledrive |
| SGE-RESNET50 | 23,51 м | 88.1 | Маска rcnn | FPN | 39,6 | 61.5 | 42,9 | Googledrive |
| Resnet50 | 23,51 м | 88.0 | Каскад rcnn | FPN | 41.1 | 59,3 | 44,8 | Googledrive |
| SGE-RESNET50 | 23,51 м | 88.1 | Каскад rcnn | FPN | 42,6 | 61.4 | 46.2 | Googledrive |
| Resnet101 | 42,50м | 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,50м | 168.1 | Быстрее rcnn | FPN | 41.0 | 63,0 | 44.3 | Googledrive |
| Resnet101 | 42,50м | 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,50м | 168.1 | Маска rcnn | FPN | 42.1 | 63,7 | 46.1 | Googledrive |
| Resnet101 | 42,50м | 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,50м | 168.1 | Каскад rcnn | FPN | 44,4 | 63.2 | 48.4 | Googledrive |
Обратите внимание, что следующие модели с смещением wd = 0.
| Модель | Топ-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}
}